<?xml version="1.0" encoding="UTF-8"?>
<robot generator="Robot 7.5 (Python 3.11.10 on linux)" generated="2026-09-26T23:09:45.508849" 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-09-26T23:09:45.970559" level="INFO">${tools_connection} = 1</msg>
<var>${tools_connection}</var>
<arg>${ip_address}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-09-26T23:09:45.970043" elapsed="0.000559"/>
</kw>
<kw name="Flexible_Mininet_Login" owner="SSHKeywords">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-09-26T23:09:45.972949" level="INFO">Length is 0.</msg>
<msg time="2026-09-26T23:09:45.973035" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-09-26T23:09:45.972323" elapsed="0.000739"/>
</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>Conditionally runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-26T23:09:45.973228" elapsed="0.000453"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-09-26T23:09:45.974550" level="INFO">Logging into '10.30.170.166:22' as 'jenkins'.</msg>
<msg time="2026-09-26T23:09:46.492795" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-190-generic x86_64)

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

 System information as of Sat Sep 26 23:09:23 UTC 2026

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


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

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


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


[?2004h[jenkins@releng-51161-109-1-docker-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-09-26T23:09:45.974201" elapsed="0.518782"/>
</kw>
<msg time="2026-09-26T23:09:46.493095" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-26T23:09:45.973840" elapsed="0.519387"/>
</kw>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-09-26T23:09:45.971877" elapsed="0.521534"/>
</kw>
<msg time="2026-09-26T23:09:46.493499" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Flexible SSH Login</arg>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-26T23:09:45.971321" elapsed="0.522290"/>
</kw>
<doc>Call Flexible SSH Login, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-09-26T23:09:45.970776" elapsed="0.522954"/>
</kw>
<return>
<value>${tools_connection}</value>
<status status="PASS" start="2026-09-26T23:09:46.493811" elapsed="0.000075"/>
</return>
<msg time="2026-09-26T23:09:46.494093" level="INFO">${netopeer_conn_id} = 1</msg>
<var>${netopeer_conn_id}</var>
<doc>Open a connection to the tools system at ${ip_address} and return its identifier.</doc>
<status status="PASS" start="2026-09-26T23:09:45.969610" elapsed="0.524517"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-26T23:09:46.494857" level="INFO">${netopeer_conn_id} = 1</msg>
<arg>${netopeer_conn_id}</arg>
<doc>Makes the variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-26T23:09:46.494413" elapsed="0.000487"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-09-26T23:09:46.497942" level="INFO">sudo curl -L "https://github.com/docker/compose/releases/download/1.11.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose</msg>
<arg>sudo curl -L "https://github.com/docker/compose/releases/download/1.11.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-09-26T23:09:46.495042" elapsed="0.002978"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Read Until Prompt" owner="SSHLibrary">
<msg time="2026-09-26T23:09:47.275995" 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
  8 8053k    8  671k    0     0  1424k      0  0:00:05 --:--:--  0:00:05 1424k100 8053k  100 8053k    0     0  10.7M      0 --:--:-- --:--:-- --:--:-- 28.0M
[?2004h[jenkins@releng-51161-109-1-docker-0 ~]&gt;</msg>
<doc>Consumes and returns the server output until the prompt is found.</doc>
<status status="PASS" start="2026-09-26T23:09:46.499299" elapsed="0.776846"/>
</kw>
<msg time="2026-09-26T23:09:47.276343" level="INFO">${output} = [?2004l  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     ...</msg>
<var>${output}</var>
<arg>30s</arg>
<arg>2s</arg>
<arg>SSHLibrary.Read_Until_Prompt</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-09-26T23:09:46.498789" elapsed="0.777592"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:09:47.276968" level="INFO">Executing command 'sudo chmod +x /usr/local/bin/docker-compose'.</msg>
<msg time="2026-09-26T23:09:47.299437" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:09:47.299588" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:09:47.299632" level="INFO">${stderr} = </msg>
<msg time="2026-09-26T23:09:47.299673" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>sudo chmod +x /usr/local/bin/docker-compose</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:09:47.276702" elapsed="0.022992"/>
</kw>
<doc>Install docker-compose on tools system.</doc>
<status status="PASS" start="2026-09-26T23:09:45.967998" elapsed="1.331932"/>
</kw>
<kw name="Pull Netopeer2 Docker Image" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:09:47.300732" level="INFO">Executing command 'docker pull sysrepo/sysrepo-netopeer2:latest'.</msg>
<msg time="2026-09-26T23:09:56.515619" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:09:56.515999" level="INFO">${stdout} = latest: Pulling from sysrepo/sysrepo-netopeer2
198a6f97edd0: Pulling fs layer
399fb1102f3f: Pulling fs layer
fc878cd0a91c: Pulling fs layer
6154df8ff988: Pulling fs layer
fee5db0ff82f: Pulling fs laye...</msg>
<msg time="2026-09-26T23:09:56.516099" level="INFO">${stderr} = </msg>
<msg time="2026-09-26T23:09:56.516186" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker pull sysrepo/sysrepo-netopeer2:latest</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:09:47.300529" elapsed="9.215733"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:09:56.517240" level="INFO">Executing command 'docker images'.</msg>
<msg time="2026-09-26T23:09:56.619965" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:09:56.620281" level="INFO">${stdout} = IMAGE                              ID             DISK USAGE   CONTENT SIZE   EXTRA
sysrepo/sysrepo-netopeer2:latest   36cc1d841c97        914MB          232MB        </msg>
<msg time="2026-09-26T23:09:56.620378" level="INFO">${stderr} = </msg>
<msg time="2026-09-26T23:09:56.620463" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker images</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:09:56.516797" elapsed="0.103716"/>
</kw>
<doc>Pulls the netopeer image from the docker repository.</doc>
<status status="PASS" start="2026-09-26T23:09:47.300157" elapsed="9.320581"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:09:56.667850" level="INFO">[chan 4] Opened sftp connection (server version 3)</msg>
<msg time="2026-09-26T23:09:56.678370" 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-09-26T23:09:56.621130" elapsed="0.057366"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:09:56.688319" 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-09-26T23:09:56.678900" elapsed="0.009543"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:09:56.689146" level="INFO">Executing command 'sed -i -e 's/ODL_SYSTEM_IP/10.30.171.168/g' docker-compose.yaml'.</msg>
<msg time="2026-09-26T23:09:56.702054" level="INFO">Command exited with return code 0.</msg>
<arg>sed -i -e 's/ODL_SYSTEM_IP/${ODL_SYSTEM_IP}/g' docker-compose.yaml</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:09:56.688875" elapsed="0.013305"/>
</kw>
<kw name="Set_Variable_If_At_Least_Sulfur" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set_Variable_If_At_Least" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set Variable If" owner="BuiltIn">
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-09-26T23:09:56.715342" elapsed="0.000871"/>
</kw>
<msg time="2026-09-26T23:09:56.716323" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Set_Variable_If</arg>
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-26T23:09:56.714542" elapsed="0.001901"/>
</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-09-26T23:09:56.713850" elapsed="0.002786"/>
</kw>
<msg time="2026-09-26T23:09:56.716726" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Set_Variable_If_At_Least</arg>
<arg>sulfur</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-26T23:09:56.708012" elapsed="0.008804"/>
</kw>
<msg time="2026-09-26T23:09:56.717031" 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-09-26T23:09:56.707406" elapsed="0.009675"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:09:56.717760" level="INFO">Executing command 'sed -i -e 's/NETCONF_CH_SSH/4334/g' docker-compose.yaml'.</msg>
<msg time="2026-09-26T23:09:56.752838" level="INFO">Command exited with return code 0.</msg>
<arg>sed -i -e 's/NETCONF_CH_SSH/${netconf_cl_ssh_port}/g' docker-compose.yaml</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:09:56.717479" elapsed="0.035502"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:09:56.753861" level="INFO">Executing command 'sed -i -e 's/NETCONF_CH_TLS/4335/g' docker-compose.yaml'.</msg>
<msg time="2026-09-26T23:09:56.800730" level="INFO">Command exited with return code 0.</msg>
<arg>sed -i -e 's/NETCONF_CH_TLS/4335/g' docker-compose.yaml</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:09:56.753634" elapsed="0.047232"/>
</kw>
<kw name="Set_Variable_If_At_Least_Scandium" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set_Variable_If_At_Least" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set Variable If" owner="BuiltIn">
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-09-26T23:09:56.813911" elapsed="0.000830"/>
</kw>
<msg time="2026-09-26T23:09:56.814849" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Set_Variable_If</arg>
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-26T23:09:56.813088" elapsed="0.001867"/>
</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-09-26T23:09:56.812390" elapsed="0.002721"/>
</kw>
<msg time="2026-09-26T23:09:56.815338" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Set_Variable_If_At_Least</arg>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-26T23:09:56.806679" elapsed="0.008756"/>
</kw>
<msg time="2026-09-26T23:09:56.815680" 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-09-26T23:09:56.806074" elapsed="0.009658"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-09-26T23:09:56.816686" 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 variable.</doc>
<status status="PASS" start="2026-09-26T23:09:56.816069" elapsed="0.000674"/>
</kw>
<kw name="Set_Variable_If_At_Least_Scandium" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set_Variable_If_At_Least" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set Variable If" owner="BuiltIn">
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-09-26T23:09:56.829848" elapsed="0.000810"/>
</kw>
<msg time="2026-09-26T23:09:56.830763" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Set_Variable_If</arg>
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-26T23:09:56.829033" elapsed="0.001839"/>
</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-09-26T23:09:56.828406" elapsed="0.002620"/>
</kw>
<msg time="2026-09-26T23:09:56.831113" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Set_Variable_If_At_Least</arg>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-26T23:09:56.822772" elapsed="0.008457"/>
</kw>
<msg time="2026-09-26T23:09:56.831442" 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-09-26T23:09:56.822216" elapsed="0.009279"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:09:56.832562" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:09:56.831839" elapsed="0.000782"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-26T23:09:56.833723" level="INFO">${netconf_mount_expected_values} = ['"connection-status":"connected"', '"node-id":"netopeer2"', '"available-capabilities"']</msg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Makes the variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-26T23:09:56.833016" elapsed="0.000796"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-26T23:09:56.836736" 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 the variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-26T23:09:56.834188" elapsed="0.002643"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-26T23:09:56.839948" 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 the variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-26T23:09:56.837239" elapsed="0.002768"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-26T23:09:56.841775" 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 the variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-26T23:09:56.840266" elapsed="0.001567"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-26T23:09:56.843970" 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 the variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-26T23:09:56.842077" elapsed="0.001952"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-26T23:09:56.846029" 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 the variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-26T23:09:56.844286" elapsed="0.001801"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-26T23:09:56.848264" 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 the variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-26T23:09:56.846345" elapsed="0.001978"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-26T23:09:56.850361" 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 the variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-26T23:09:56.848636" elapsed="0.001784"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:09:56.850798" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./incorrect_ssh_host_rsa_key'.</msg>
<msg time="2026-09-26T23:09:57.015163" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./incorrect_ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:09:56.850672" elapsed="0.164651"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:09:57.015990" level="INFO">Executing command 'awk '{print $2}' incorrect_ssh_host_rsa_key.pub'.</msg>
<msg time="2026-09-26T23:09:57.064906" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:09:57.065116" level="INFO">${incorrect_public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycN...</msg>
<var>${incorrect_public_key}</var>
<arg>awk '{print $2}' incorrect_ssh_host_rsa_key.pub</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:09:57.015770" elapsed="0.049401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-26T23:09:57.068953" level="INFO">${INCORRECT_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycN...</msg>
<arg>${INCORRECT_PUB_KEY}</arg>
<arg>${incorrect_public_key}</arg>
<doc>Makes the variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-26T23:09:57.065634" elapsed="0.003416"/>
</kw>
<doc>Get the suite ready for callhome test cases.</doc>
<status status="PASS" start="2026-09-26T23:09:45.967698" elapsed="11.101476"/>
</kw>
<test id="s1-s1-t1" name="CallHome over SSH with correct device credentials" line="17">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:09:57.071744" level="INFO">Creating Session using : alias=session, url=http://10.30.171.168:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7e2a783d6810&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-26T23:09:57.071269" elapsed="0.000845"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:09:57.072744" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-26T23:09:57.117315" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:09:57.072546" elapsed="0.044891"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:09:57.118051" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-26T23:09:57.371852" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:09:57.117855" elapsed="0.254150"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:09:57.372727" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-26T23:09:57.421141" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:09:57.421380" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:09:57.372455" elapsed="0.048982"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-26T23:09:57.425057" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes the variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-26T23:09:57.421854" elapsed="0.003298"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-26T23:09:57.070653" elapsed="0.354648"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:09:57.470350" 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-09-26T23:09:57.426331" elapsed="0.044149"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:09:57.480463" 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-09-26T23:09:57.470886" elapsed="0.009735"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-26T23:09:57.425679" elapsed="0.055070"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-26T23:09:57.482747" elapsed="0.000136"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:09:57.482048" elapsed="0.000897"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-26T23:09:57.484236" 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-09-26T23:09:57.484559" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-26T23:09:57.483943" elapsed="0.000675"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-26T23:09:57.485867" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes the variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-26T23:09:57.484967" elapsed="0.000990"/>
</kw>
<status status="PASS" start="2026-09-26T23:09:57.483320" elapsed="0.002749"/>
</kw>
<status status="PASS" start="2026-09-26T23:09:57.483006" elapsed="0.003111"/>
</branch>
<status status="PASS" start="2026-09-26T23:09:57.481990" elapsed="0.004174"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:09:57.486992" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
      ...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:09:57.486504" elapsed="0.000545"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:09:57.487859" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
          },...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:09:57.487405" elapsed="0.000511"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:09:57.489111" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:09:57.488268" elapsed="0.000901"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:09:57.489974" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:09:57.489554" elapsed="0.000477"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:09:58.366356" level="INFO">POST Request : url=http://10.30.171.168: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1"
        }
    }
}
 
 </msg>
<msg time="2026-09-26T23:09:58.366607" level="INFO">POST Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 25-Sep-2026 23:09:58 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-26T23:09:58.366858" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:09:57.490351" elapsed="0.876567"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:09:58.367393" elapsed="0.001232"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>root</arg>
<arg>root</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-26T23:09:57.481294" elapsed="0.887473"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:09:58.369594" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-26T23:09:58.657674" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:09:58.657986" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:09:58.658079" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:09:58.658164" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:09:58.369177" elapsed="0.289061"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:09:58.661727" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:09:58.660922" elapsed="0.000865"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:09:58.662654" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:09:58.662076" elapsed="0.000701"/>
</branch>
<status status="PASS" start="2026-09-26T23:09:58.662022" elapsed="0.000814"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:09:58.716890" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:09:58.718648" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:09:58.718867" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:09:58.668827" elapsed="0.050096"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:09:58.719738" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:09:58.719091" elapsed="0.000764"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:09:58.721137" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:09:58.720308" elapsed="0.000962"/>
</kw>
<status status="PASS" start="2026-09-26T23:09:58.719908" elapsed="0.001433"/>
</branch>
<status status="PASS" start="2026-09-26T23:09:58.719047" elapsed="0.002343"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:09:58.721755" elapsed="0.000398"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:09:58.722913" elapsed="0.001021"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:09:58.722613" elapsed="0.001403"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:09:58.725630" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:09:58.724513" elapsed="0.001405">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:09:58.724218" elapsed="0.001861">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:09:58.722305" elapsed="0.003934">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:09:58.667933" elapsed="0.058533">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:09:58.660108" elapsed="0.066664">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:00.729558" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:00.728719" elapsed="0.000909"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:00.730350" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:00.729811" elapsed="0.000661"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:00.729761" elapsed="0.000794"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:00.747973" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:00.748319" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:00.748580" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:00.736664" elapsed="0.011974"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:00.749399" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:00.748807" elapsed="0.000740"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:00.750838" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:00.749990" elapsed="0.000955"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:00.749609" elapsed="0.001406"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:00.748764" elapsed="0.002301"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:00.751420" elapsed="0.000352"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:00.752462" elapsed="0.000970"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:00.752140" elapsed="0.001404"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:00.755076" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:00.754022" elapsed="0.001255">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:00.753730" elapsed="0.001699">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:00.751889" elapsed="0.003809">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:00.735766" elapsed="0.020152">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:00.727778" elapsed="0.028343">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:02.760010" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:02.758600" elapsed="0.001509"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:02.761347" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:02.760448" elapsed="0.001157"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:02.760372" elapsed="0.001344"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:02.784024" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:02.784378" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:02.784620" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:02.770399" elapsed="0.014281"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:02.785475" elapsed="0.000081"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:02.784865" elapsed="0.000759"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:02.786895" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:02.786051" elapsed="0.000952"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:02.785679" elapsed="0.001385"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:02.784817" elapsed="0.002290"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:02.787405" elapsed="0.000329"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:02.788387" elapsed="0.000909"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:02.788081" elapsed="0.001288"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:02.790768" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:02.789842" elapsed="0.001204">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:02.789567" elapsed="0.001648">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:02.787839" elapsed="0.003513">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:02.768922" elapsed="0.022688">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:02.757314" elapsed="0.034513">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:04.795057" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:04.794238" elapsed="0.000887"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:04.795862" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:04.795328" elapsed="0.000654"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:04.795281" elapsed="0.000754"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:04.812212" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:04.812504" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:04.812766" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:04.801699" elapsed="0.011123"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:04.813596" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:04.812986" elapsed="0.000730"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:04.814966" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:04.814129" elapsed="0.001038"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:04.813767" elapsed="0.001500"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:04.812944" elapsed="0.002369"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:04.815655" elapsed="0.000322"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:04.816698" elapsed="0.000969"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:04.816371" elapsed="0.001379"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:04.819260" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:04.818241" elapsed="0.001193">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:04.817927" elapsed="0.001688">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:04.816096" elapsed="0.003649">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:04.800815" elapsed="0.019138">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:04.793329" elapsed="0.026828">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:06.822867" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:06.822020" elapsed="0.000915"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:06.823657" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:06.823105" elapsed="0.000672"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:06.823061" elapsed="0.000768"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:06.840885" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:06.841205" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:06.841511" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:06.829711" elapsed="0.012026"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:06.842504" elapsed="0.000087"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:06.841908" elapsed="0.000752"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:06.843924" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:06.843077" elapsed="0.000955"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:06.842712" elapsed="0.001390"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:06.841865" elapsed="0.002282"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:06.844485" elapsed="0.000352"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:06.845556" elapsed="0.001382"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:06.845233" elapsed="0.001788"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:06.848567" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:06.847507" elapsed="0.001233">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:06.847209" elapsed="0.001681">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:06.844956" elapsed="0.004060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:06.828828" elapsed="0.020419">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:06.821102" elapsed="0.028346">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:08.852156" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:08.851344" elapsed="0.000904"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:08.852956" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:08.852425" elapsed="0.000784"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:08.852380" elapsed="0.000891"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:08.870495" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:08.870853" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:08.871056" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:08.859097" elapsed="0.012013"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:08.871895" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:08.871302" elapsed="0.000712"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:08.873286" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:08.872459" elapsed="0.000935"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:08.872066" elapsed="0.001397"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:08.871259" elapsed="0.002250"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:08.873847" elapsed="0.000322"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:08.874878" elapsed="0.000961"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:08.874586" elapsed="0.001334"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:08.877413" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:08.876399" elapsed="0.001210">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:08.876086" elapsed="0.001669">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:08.874310" elapsed="0.003568">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:08.858167" elapsed="0.019914">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:08.850397" elapsed="0.027976">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:10.881385" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:10.880434" elapsed="0.001023"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:10.882331" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:10.881722" elapsed="0.000743"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:10.881666" elapsed="0.000888"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:10.899992" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:10.900320" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:10.900579" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:10.888775" elapsed="0.011862"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:10.901554" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:10.900805" elapsed="0.000881"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:10.903034" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:10.902161" elapsed="0.000980"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:10.901739" elapsed="0.001499"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:10.900762" elapsed="0.002529"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:10.903654" elapsed="0.000327"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:10.904723" elapsed="0.001099"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:10.904396" elapsed="0.001515"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:10.907445" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:10.906421" elapsed="0.001227">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:10.906096" elapsed="0.001705">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:10.904119" elapsed="0.003909">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:10.887887" elapsed="0.020448">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:10.879389" elapsed="0.029202">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:12.911420" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:12.910581" elapsed="0.000908"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:12.912223" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:12.911696" elapsed="0.000647"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:12.911651" elapsed="0.000744"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:12.927408" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:12.927762" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:12.927967" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:12.918029" elapsed="0.009993"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:12.928805" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:12.928209" elapsed="0.000714"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:12.930224" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:12.929388" elapsed="0.000948"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:12.928973" elapsed="0.001433"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:12.928144" elapsed="0.002307"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:12.930788" elapsed="0.000323"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:12.931839" elapsed="0.000963"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:12.931511" elapsed="0.001372"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:12.934364" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:12.933362" elapsed="0.001324">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:12.933046" elapsed="0.001797">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:12.931260" elapsed="0.003706">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:12.917150" elapsed="0.018046">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:12.909631" elapsed="0.025778">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:14.940411" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:14.939601" elapsed="0.000878"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:14.941209" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:14.940685" elapsed="0.000645"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:14.940639" elapsed="0.000745"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:14.958218" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:14.958550" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:14.958799" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:14.947036" elapsed="0.011819"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:14.959670" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:14.959015" elapsed="0.000777"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:14.961035" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:14.960226" elapsed="0.001040"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:14.959842" elapsed="0.001496"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:14.958976" elapsed="0.002407"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:14.961719" elapsed="0.000322"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:14.962743" elapsed="0.000958"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:14.962420" elapsed="0.001361"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:14.965258" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:14.964257" elapsed="0.001157">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:14.963944" elapsed="0.001647">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:14.962155" elapsed="0.003561">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:14.946132" elapsed="0.019786">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:14.936324" elapsed="0.029789">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:16.968904" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:16.968014" elapsed="0.000961"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:16.969750" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:16.969154" elapsed="0.000725"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:16.969108" elapsed="0.000827"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:16.987686" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:16.987996" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:16.988336" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:16.976200" elapsed="0.012197"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:16.989203" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:16.988600" elapsed="0.000731"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:16.990705" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:16.989809" elapsed="0.001012"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:16.989386" elapsed="0.001511"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:16.988555" elapsed="0.002390"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:16.991297" elapsed="0.000365"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:16.992376" elapsed="0.001027"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:16.992033" elapsed="0.001458"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:16.995598" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:16.994016" elapsed="0.001747">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:16.993698" elapsed="0.002226">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:16.991782" elapsed="0.004276">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:16.975247" elapsed="0.021055">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:16.967047" elapsed="0.029495">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:18.999442" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:18.998577" elapsed="0.000968"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:19.000297" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:18.999732" elapsed="0.000831"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:18.999684" elapsed="0.000945"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:19.020456" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:19.020870" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:19.021097" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:19.006832" elapsed="0.014329"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:19.022106" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:19.021370" elapsed="0.000884"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:19.023633" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:19.022737" elapsed="0.001011"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:19.022309" elapsed="0.001512"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:19.021325" elapsed="0.002544"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:19.024220" elapsed="0.000370"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:19.025303" elapsed="0.001019"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:19.024967" elapsed="0.001440"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:19.027988" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:19.026927" elapsed="0.001221">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:19.026613" elapsed="0.001719">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:19.024711" elapsed="0.003756">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:19.005887" elapsed="0.022832">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:18.997512" elapsed="0.031501">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:21.031715" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:21.030886" elapsed="0.000898"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:21.032481" elapsed="0.000076"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:21.031956" elapsed="0.000677"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:21.031911" elapsed="0.000775"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:21.048953" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:21.049286" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:21.049557" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:21.038814" elapsed="0.010803"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:21.050442" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:21.049797" elapsed="0.000799"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:21.051914" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:21.051029" elapsed="0.000990"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:21.050650" elapsed="0.001438"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:21.049752" elapsed="0.002380"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:21.052468" elapsed="0.000354"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:21.053540" elapsed="0.000938"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:21.053205" elapsed="0.001387"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:21.056061" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:21.055055" elapsed="0.001185">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:21.054759" elapsed="0.001635">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:21.052940" elapsed="0.003738">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:21.037917" elapsed="0.018980">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:21.029955" elapsed="0.027140">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:23.059753" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:23.058911" elapsed="0.000910"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:23.060543" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:23.059994" elapsed="0.000671"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:23.059949" elapsed="0.000768"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:23.076701" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:23.076990" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:23.077212" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:23.066418" elapsed="0.010850"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:23.078020" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:23.077432" elapsed="0.000706"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:23.079440" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:23.078625" elapsed="0.000956"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:23.078219" elapsed="0.001433"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:23.077390" elapsed="0.002307"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:23.080002" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:23.081021" elapsed="0.000960"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:23.080727" elapsed="0.001336"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:23.083568" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:23.082579" elapsed="0.001236">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:23.082256" elapsed="0.001711">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:23.080463" elapsed="0.003628">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:23.065549" elapsed="0.018772">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:23.057995" elapsed="0.026552">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:25.088042" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:25.087209" elapsed="0.000899"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:25.088858" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:25.088316" elapsed="0.000666"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:25.088269" elapsed="0.000768"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:25.105014" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:25.105409" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:25.105747" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:25.094940" 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-09-26T23:10:25.106625" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:25.105981" elapsed="0.000768"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:25.108051" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:25.107211" elapsed="0.001079"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:25.106802" elapsed="0.001563"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:25.105937" elapsed="0.002487"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:25.108848" elapsed="0.000358"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:25.109990" elapsed="0.001114"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:25.109646" elapsed="0.001568"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:25.113353" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:25.111904" elapsed="0.001707">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:25.111433" elapsed="0.002392">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:25.109321" elapsed="0.004688">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:25.094027" elapsed="0.020323">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:25.085626" elapsed="0.029060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:27.117400" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:27.116602" elapsed="0.000865"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:27.118231" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:27.117670" elapsed="0.000682"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:27.117625" elapsed="0.000779"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:27.134417" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:27.134779" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:27.135116" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:27.124036" elapsed="0.011161"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:27.136045" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:27.135390" elapsed="0.000809"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:27.137546" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:27.136674" elapsed="0.000983"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:27.136254" elapsed="0.001473"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:27.135342" elapsed="0.002430"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:27.138075" elapsed="0.000353"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:27.139113" elapsed="0.001465"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:27.138810" elapsed="0.001854"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:27.142133" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:27.141127" elapsed="0.001222">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:27.140831" elapsed="0.001674">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:27.138572" elapsed="0.004102">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:27.123138" elapsed="0.019743">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:27.115682" elapsed="0.027393">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:29.145810" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:29.144928" elapsed="0.000949"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:29.146616" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:29.146056" elapsed="0.000788"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:29.146010" elapsed="0.000893"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:29.163798" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:29.164103" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:29.164336" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:29.152552" 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-09-26T23:10:29.165182" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:29.164589" elapsed="0.000718"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:29.166595" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:29.165759" elapsed="0.000946"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:29.165358" elapsed="0.001417"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:29.164546" elapsed="0.002275"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:29.167125" elapsed="0.000345"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:29.168153" elapsed="0.000949"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:29.167856" elapsed="0.001353"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:29.170736" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:29.169702" elapsed="0.001190">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:29.169377" elapsed="0.001668">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:29.167617" elapsed="0.003578">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:29.151665" elapsed="0.019747">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:29.143994" elapsed="0.027754">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:31.174566" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:31.173669" 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="NOT RUN" start="2026-09-26T23:10:31.175338" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:31.174815" elapsed="0.000644"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:31.174767" elapsed="0.000744"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:31.192690" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:31.192993" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:31.193288" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:31.181758" elapsed="0.011604"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:31.194149" elapsed="0.000091"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:31.193573" elapsed="0.000734"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:31.195633" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:31.194763" elapsed="0.000979"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:31.194359" elapsed="0.001456"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:31.193493" elapsed="0.002367"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:31.196191" elapsed="0.000391"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:31.197433" elapsed="0.000997"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:31.196940" elapsed="0.001621"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:31.200113" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:31.199038" elapsed="0.001263">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:31.198740" elapsed="0.001720">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:31.196697" elapsed="0.004053">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:31.180831" elapsed="0.020140">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:31.172749" elapsed="0.028450">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:33.203924" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:33.203052" elapsed="0.000940"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:33.204717" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:33.204189" elapsed="0.000648"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:33.204120" elapsed="0.000770"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:33.221042" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:33.221370" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:33.221601" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:33.210479" elapsed="0.011178"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:33.222391" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:33.221816" elapsed="0.000693"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:33.223801" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:33.222962" elapsed="0.000947"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:33.222590" elapsed="0.001388"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:33.221776" elapsed="0.002247"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:33.224346" elapsed="0.000350"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:33.225354" elapsed="0.000946"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:33.225040" elapsed="0.001340"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:33.227868" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:33.226865" elapsed="0.001256">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:33.226575" elapsed="0.001726">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:33.224808" elapsed="0.003620">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:33.209633" elapsed="0.019033">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:33.202134" elapsed="0.026729">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:35.232060" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:35.231250" elapsed="0.000877"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:35.232851" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:35.232319" elapsed="0.000656"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:35.232275" elapsed="0.000755"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:35.249631" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:35.249935" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:35.250180" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:35.239603" elapsed="0.010634"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:35.250970" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:35.250396" elapsed="0.000691"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:35.252562" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:35.251582" elapsed="0.001187"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:35.251137" elapsed="0.001703"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:35.250356" elapsed="0.002529"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:35.253212" elapsed="0.000358"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:35.254238" elapsed="0.000957"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:35.253926" elapsed="0.001351"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:35.256855" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:35.255766" elapsed="0.001246">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:35.255444" elapsed="0.001740">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:35.253688" elapsed="0.003625">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:35.237721" elapsed="0.019831">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:35.230350" elapsed="0.027403">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:37.260482" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:37.259637" elapsed="0.000944"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:37.261295" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:37.260755" elapsed="0.000661"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:37.260710" elapsed="0.000758"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:37.278765" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:37.279053" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:37.279383" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:37.267101" elapsed="0.012338"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:37.280210" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:37.279635" elapsed="0.000694"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:37.281606" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:37.280771" elapsed="0.000946"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:37.280380" elapsed="0.001407"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:37.279592" elapsed="0.002241"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:37.282139" elapsed="0.000345"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:37.283328" elapsed="0.001534"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:37.282990" elapsed="0.001959"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:37.286477" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:37.285447" elapsed="0.001215">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:37.285118" elapsed="0.001692">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:37.282668" elapsed="0.004264">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:37.266248" elapsed="0.020887">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:37.258723" elapsed="0.028631">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:39.290005" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:39.289198" elapsed="0.000874"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:39.290802" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:39.290273" elapsed="0.000760"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:39.290226" elapsed="0.000866"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:39.307844" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:39.308187" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:39.308389" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:39.296719" elapsed="0.011724"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:39.309204" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:39.308635" elapsed="0.000689"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:39.310593" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:39.309768" elapsed="0.000934"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:39.309374" elapsed="0.001397"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:39.308593" elapsed="0.002223"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:39.311120" elapsed="0.000339"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:39.312131" elapsed="0.000950"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:39.311839" elapsed="0.001347"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:39.314670" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:39.313673" elapsed="0.001148">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:39.313352" elapsed="0.001616">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:39.311604" elapsed="0.003488">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:39.295833" elapsed="0.019484">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:39.288256" elapsed="0.027362">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:41.318650" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:41.317659" elapsed="0.001067"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:41.319549" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:41.318914" elapsed="0.000777"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:41.318866" elapsed="0.000884"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:41.337771" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:41.338168" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:41.338448" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:41.326689" elapsed="0.011856"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:41.339489" elapsed="0.000097"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:41.338754" elapsed="0.000910"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:41.341165" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:41.340181" elapsed="0.001116"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:41.339720" elapsed="0.001655"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:41.338701" elapsed="0.002722"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:41.341788" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:41.342935" elapsed="0.001111"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:41.342605" elapsed="0.001563"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:41.345868" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:41.344735" elapsed="0.001298">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:41.344377" elapsed="0.001847">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:41.342306" elapsed="0.004191">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:41.325679" elapsed="0.021098">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:41.316631" elapsed="0.030368">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:43.349921" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:43.348980" elapsed="0.001013"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:43.350931" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:43.350327" elapsed="0.000736"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:43.350129" elapsed="0.000992"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:43.368730" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:43.369049" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:43.369307" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:43.357760" elapsed="0.011618"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:43.370294" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:43.369607" elapsed="0.000832"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:43.371880" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:43.370955" elapsed="0.001034"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:43.370496" elapsed="0.001562"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:43.369555" elapsed="0.002548"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:43.372437" elapsed="0.000374"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:43.373496" elapsed="0.000975"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:43.373191" elapsed="0.001405"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:43.376083" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:43.375057" elapsed="0.001307">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:43.374769" elapsed="0.001776">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:43.372930" elapsed="0.003769">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:43.356737" elapsed="0.020176">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:43.347970" elapsed="0.029142">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:45.380235" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:45.379414" elapsed="0.000887"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:45.381095" elapsed="0.000070"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:45.380510" elapsed="0.000733"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:45.380454" elapsed="0.000842"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:45.396694" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:45.397000" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:45.397260" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:45.386898" elapsed="0.010420"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:45.398162" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:45.397504" elapsed="0.000778"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:45.399688" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:45.398762" elapsed="0.001124"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:45.398333" elapsed="0.001625"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:45.397457" elapsed="0.002546"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:45.400330" elapsed="0.000341"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:45.401332" elapsed="0.000933"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:45.401012" elapsed="0.001333"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:45.403799" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:45.402823" elapsed="0.001122">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:45.402507" elapsed="0.001583">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:45.400782" elapsed="0.003452">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:45.386031" elapsed="0.018409">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:45.378558" elapsed="0.026107">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:47.407454" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:47.406587" elapsed="0.000964"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:47.408261" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:47.407731" elapsed="0.000655"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:47.407685" elapsed="0.000753"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:47.430184" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:47.430479" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:47.430825" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:47.414120" elapsed="0.016762"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:47.431693" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:47.431047" elapsed="0.000769"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:47.433208" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:47.432269" elapsed="0.001050"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:47.431868" elapsed="0.001524"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:47.431006" elapsed="0.002431"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:47.433777" elapsed="0.000325"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:47.434806" elapsed="0.001433"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:47.434482" elapsed="0.001842"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:47.437926" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:47.436821" elapsed="0.001285">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:47.436493" elapsed="0.001801">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:47.434240" elapsed="0.004180">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:47.413249" elapsed="0.025410">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:47.405625" elapsed="0.033230">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:49.441830" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:49.440856" 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-09-26T23:10:49.442683" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:49.442089" elapsed="0.000843"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:49.442041" elapsed="0.000956"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:49.459554" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:49.459878" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:49.460093" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:49.449109" elapsed="0.011063"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:49.460978" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:49.460345" elapsed="0.000758"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:49.462632" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:49.461628" elapsed="0.001120"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:49.461194" elapsed="0.001628"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:49.460303" elapsed="0.002568"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:49.463219" elapsed="0.000373"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:49.464311" elapsed="0.001017"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:49.463967" elapsed="0.001448"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:49.467001" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:49.465932" elapsed="0.001256">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:49.465620" elapsed="0.001768">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:49.463714" elapsed="0.003872">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:49.448176" elapsed="0.019654">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:49.439846" elapsed="0.028322">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:51.471056" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:51.470201" elapsed="0.000924"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:51.471884" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:51.471336" elapsed="0.000666"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:51.471289" elapsed="0.000768"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:51.487922" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:51.488236" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:51.488457" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:51.478120" elapsed="0.010423"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:51.489288" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:51.488710" elapsed="0.000699"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:51.490685" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:51.489852" elapsed="0.000939"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:51.489462" elapsed="0.001400"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:51.488669" elapsed="0.002238"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:51.491232" elapsed="0.000349"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:51.492249" elapsed="0.000946"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:51.491931" elapsed="0.001348"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:51.494768" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:51.493769" elapsed="0.001149">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:51.493444" elapsed="0.001622">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:51.491695" elapsed="0.003613">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:51.477253" elapsed="0.018296">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:51.469219" elapsed="0.026536">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:53.498417" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:53.497593" elapsed="0.000890"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:53.499248" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:53.498692" elapsed="0.000673"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:53.498645" elapsed="0.000774"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:53.514767" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:53.515063" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:53.515295" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:53.505060" elapsed="0.010290"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:53.516124" elapsed="0.000076"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:53.515546" elapsed="0.000720"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:53.517600" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:53.516732" elapsed="0.000978"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:53.516318" elapsed="0.001463"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:53.515473" elapsed="0.002352"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:53.518151" elapsed="0.000321"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:53.519171" elapsed="0.000939"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:53.518853" elapsed="0.001361"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:53.521713" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:53.520702" elapsed="0.001258">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:53.520379" elapsed="0.001732">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:53.518616" elapsed="0.003656">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:53.504195" elapsed="0.018284">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:53.496644" elapsed="0.026062">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:55.526379" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:55.525851" elapsed="0.000572"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:55.526875" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:55.526554" elapsed="0.000395"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:55.526505" elapsed="0.000477"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:55.539405" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:55.539625" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:55.539770" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:55.530419" elapsed="0.009386"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:55.540263" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:55.539903" elapsed="0.000433"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:55.541098" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:55.540616" elapsed="0.000647"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:55.540368" elapsed="0.000941"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:55.539879" elapsed="0.001459"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:55.541546" elapsed="0.000204"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:55.542169" elapsed="0.000639"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:55.541970" elapsed="0.000889"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:55.543778" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:55.543163" elapsed="0.000712">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:55.542962" elapsed="0.001006">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:55.541821" elapsed="0.002224">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:55.529885" elapsed="0.014305">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:55.525253" elapsed="0.019061">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:57.546964" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:57.546149" elapsed="0.000880"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:57.547761" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:57.547231" elapsed="0.000649"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:57.547184" elapsed="0.000749"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:57.563183" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:57.563472" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:57.563802" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:57.553504" 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-09-26T23:10:57.564624" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:57.564017" elapsed="0.000725"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:57.565980" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:57.565180" elapsed="0.000906"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:57.564793" elapsed="0.001386"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:57.563976" elapsed="0.002250"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:57.566559" elapsed="0.000319"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:57.567566" elapsed="0.001366"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:57.567244" elapsed="0.001770"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:57.570654" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:57.569499" elapsed="0.001307">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:57.569205" elapsed="0.001749">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:57.566988" elapsed="0.004090">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:57.552657" elapsed="0.018653">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:57.545211" elapsed="0.026296">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:10:59.574145" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:10:59.573314" elapsed="0.000899"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:10:59.574911" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:59.574382" elapsed="0.000763"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:59.574337" elapsed="0.000868"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:10:59.588719" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:10:59.589005" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:10:59.589231" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:10:59.580861" elapsed="0.008426"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:10:59.590031" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:10:59.589447" elapsed="0.000725"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:10:59.591408" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:10:59.590615" elapsed="0.000928"/>
</kw>
<status status="PASS" start="2026-09-26T23:10:59.590225" elapsed="0.001392"/>
</branch>
<status status="PASS" start="2026-09-26T23:10:59.589406" elapsed="0.002257"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:10:59.591968" elapsed="0.000337"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:10:59.592978" elapsed="0.000943"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:10:59.592685" elapsed="0.001318"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:10:59.595481" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:10:59.594491" elapsed="0.001171">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:10:59.594195" elapsed="0.001613">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:10:59.592417" elapsed="0.003516">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:10:59.579979" elapsed="0.016187">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:10:59.572410" elapsed="0.024024">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:01.599068" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:01.598270" elapsed="0.000882"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:11:01.599849" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:01.599321" elapsed="0.000644"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:01.599277" elapsed="0.000740"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:01.616853" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:01.617189" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:01.617436" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:01.606016" elapsed="0.011475"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:01.618670" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:01.617715" elapsed="0.001088"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:01.620222" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:01.619264" elapsed="0.001067"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:01.618857" elapsed="0.001547"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:01.617665" elapsed="0.002783"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:01.620787" elapsed="0.000316"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:01.621807" elapsed="0.000932"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:11:01.621476" elapsed="0.001346"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:01.624281" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:01.623294" elapsed="0.001135">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:11:01.622988" elapsed="0.001618">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:01.621240" elapsed="0.003602">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:01.605160" elapsed="0.019890">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:01.597346" elapsed="0.027923">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:03.628091" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:03.627201" 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-09-26T23:11:03.628982" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:03.628394" elapsed="0.000713"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:03.628342" elapsed="0.000852"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:03.645814" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:03.646162" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:03.646371" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:03.635289" elapsed="0.011137"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:03.647210" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:03.646624" elapsed="0.000705"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:03.648609" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:03.647779" elapsed="0.000940"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:03.647380" elapsed="0.001411"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:03.646580" elapsed="0.002255"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:03.649233" elapsed="0.000408"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:03.650373" elapsed="0.000961"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:11:03.650048" elapsed="0.001369"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:03.652914" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:03.651906" elapsed="0.001286">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:11:03.651613" elapsed="0.001734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:03.649761" elapsed="0.003710">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:03.634180" elapsed="0.019528">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:03.626239" elapsed="0.027683">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:05.657213" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:05.656367" elapsed="0.000916"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:11:05.657983" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:05.657456" elapsed="0.000645"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:05.657410" elapsed="0.000772"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:05.673081" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:05.673397" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:05.673648" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:05.663856" elapsed="0.009850"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:05.674438" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:05.673866" elapsed="0.000721"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:05.675830" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:05.675008" elapsed="0.001034"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:05.674640" elapsed="0.001500"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:05.673826" elapsed="0.002365"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:05.676500" elapsed="0.000351"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:05.677542" elapsed="0.000949"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:11:05.677223" elapsed="0.001382"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:05.680057" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:05.679064" elapsed="0.001174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:11:05.678773" elapsed="0.001611">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:05.676964" elapsed="0.003545">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:05.662971" elapsed="0.017777">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:05.654906" elapsed="0.026038">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:07.684629" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:07.683398" elapsed="0.001301"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:11:07.685797" elapsed="0.000087"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:07.684888" elapsed="0.001112"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:07.684831" elapsed="0.001248"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:07.702232" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:07.702616" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:07.702963" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:07.692425" elapsed="0.010599"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:07.703994" elapsed="0.000073"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:07.703223" elapsed="0.000998"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:07.705940" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:07.704820" elapsed="0.001240"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:07.704298" elapsed="0.001867"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:07.703178" elapsed="0.003039"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:07.706561" elapsed="0.000331"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:07.707592" elapsed="0.000967"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:11:07.707267" elapsed="0.001376"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:07.710933" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:07.709099" elapsed="0.001995">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:11:07.708807" elapsed="0.002470">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:07.707005" elapsed="0.004395">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:07.691414" elapsed="0.020253">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:07.682072" elapsed="0.029843">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:09.714599" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:09.713757" elapsed="0.000911"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:11:09.715392" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:09.714843" elapsed="0.000820"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:09.714797" elapsed="0.000927"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:09.745789" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:09.746154" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:09.746416" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:09.721425" elapsed="0.025052"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:09.747403" elapsed="0.000069"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:09.746726" elapsed="0.000841"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:09.748939" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:09.748036" elapsed="0.001023"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:09.747622" elapsed="0.001527"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:09.746656" elapsed="0.002541"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:09.749563" elapsed="0.000340"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:09.750628" elapsed="0.000976"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:11:09.750284" elapsed="0.001401"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:09.753280" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:09.752244" elapsed="0.001188">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:11:09.751852" elapsed="0.001768">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:09.750021" elapsed="0.003747">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:09.720554" elapsed="0.033424">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:09.712830" elapsed="0.041487">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:11.757040" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:11.756217" elapsed="0.000890"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:11:11.757851" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:11.757305" elapsed="0.000667"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:11.757258" elapsed="0.000767"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:11.774021" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:11.774347" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:11.774606" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:11.764299" elapsed="0.010365"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:11.775419" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:11.774829" elapsed="0.000744"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:11.776831" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:11.775996" elapsed="0.000942"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:11.775626" elapsed="0.001385"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:11.774788" elapsed="0.002269"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:11.777394" elapsed="0.000356"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:11.778422" elapsed="0.000963"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:11:11.778105" elapsed="0.001365"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:11.781140" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:11.779977" elapsed="0.001315">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:11:11.779671" elapsed="0.001770">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:11.777863" elapsed="0.003831">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:11.763393" elapsed="0.018519">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:11.755278" elapsed="0.026858">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:13.784835" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:13.784019" elapsed="0.000881"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:11:13.785607" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:13.785069" elapsed="0.000655"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:13.785025" elapsed="0.000752"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:13.801727" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:13.802030" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:13.802266" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:13.792104" elapsed="0.010220"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:13.803191" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:13.802510" elapsed="0.000804"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:13.804683" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:13.803787" elapsed="0.001003"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:13.803365" elapsed="0.001494"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:13.802460" elapsed="0.002444"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:13.805231" elapsed="0.000351"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:13.806269" elapsed="0.001002"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:11:13.805941" elapsed="0.001412"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:13.808908" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:13.807853" elapsed="0.001332">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:11:13.807557" elapsed="0.001783">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:13.805700" elapsed="0.003761">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:13.790974" elapsed="0.018728">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:13.783068" elapsed="0.026831">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:15.813251" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:15.812414" elapsed="0.000904"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:11:15.814019" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:15.813491" elapsed="0.000667"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:15.813445" elapsed="0.000768"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:15.828899" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:15.829215" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:15.829439" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:15.819840" elapsed="0.009655"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:15.830338" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:15.829690" elapsed="0.000771"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:15.831756" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:15.830920" elapsed="0.001047"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:15.830512" elapsed="0.001528"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:15.829649" elapsed="0.002436"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:15.832424" elapsed="0.000350"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:15.833441" elapsed="0.001139"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:11:15.833148" elapsed="0.001516"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:15.836153" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:15.835145" elapsed="0.001161">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:11:15.834830" elapsed="0.001623">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:15.832886" elapsed="0.003724">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:15.818953" elapsed="0.017863">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:15.810879" elapsed="0.026133">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:17.839824" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:17.838903" elapsed="0.001007"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:11:17.840763" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:17.840132" elapsed="0.000764"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:17.840053" elapsed="0.000898"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:17.856602" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:17.856898" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:17.857221" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:17.846805" elapsed="0.010474"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:17.858066" elapsed="0.000090"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:17.857446" elapsed="0.000797"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:17.859611" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:17.858749" elapsed="0.000970"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:17.858303" elapsed="0.001487"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:17.857404" elapsed="0.002432"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:17.860173" elapsed="0.000328"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:17.861202" elapsed="0.001467"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:11:17.860886" elapsed="0.001868"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:17.864270" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:17.863238" elapsed="0.001188">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:11:17.862922" elapsed="0.001687">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:17.860646" elapsed="0.004091">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:17.845892" elapsed="0.019052">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:17.837965" elapsed="0.027199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:19.868034" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:19.867218" elapsed="0.000903"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:11:19.868826" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:19.868300" elapsed="0.000758"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:19.868253" elapsed="0.000888"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:19.883832" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:19.884139" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:19.884341" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:19.874767" elapsed="0.009629"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:19.885174" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:19.884592" elapsed="0.000702"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:19.886615" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:19.885801" elapsed="0.000922"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:19.885345" elapsed="0.001448"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:19.884550" elapsed="0.002289"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:19.887164" elapsed="0.000319"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:19.888170" elapsed="0.000913"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:11:19.887861" elapsed="0.001327"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:19.890644" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:19.889667" elapsed="0.001129">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:11:19.889351" elapsed="0.001593">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:19.887626" elapsed="0.003439">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:19.873887" elapsed="0.017401">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:19.866253" elapsed="0.025325">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:21.894367" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:21.893558" elapsed="0.000877"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:11:21.895282" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:21.894646" elapsed="0.000762"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:21.894596" elapsed="0.000867"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:21.911682" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:21.911982" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:21.912227" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:21.901822" elapsed="0.010459"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:21.913026" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:21.912443" elapsed="0.000728"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:21.914457" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:21.913644" elapsed="0.000950"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:21.913224" elapsed="0.001441"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:21.912402" elapsed="0.002308"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:21.915012" elapsed="0.000389"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:21.916138" elapsed="0.001059"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:11:21.915803" elapsed="0.001478"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:21.918771" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:21.917772" elapsed="0.001148">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:11:21.917448" elapsed="0.001618">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:21.915554" elapsed="0.003760">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:21.900923" elapsed="0.018631">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:21.892572" elapsed="0.027183">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:23.922568" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:23.921713" elapsed="0.000925"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:11:23.923330" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:23.922813" elapsed="0.000635"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:23.922767" elapsed="0.000734"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:23.938413" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:23.938746" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:23.938947" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:23.929180" elapsed="0.009822"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:23.939815" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:23.939185" elapsed="0.000752"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:23.941424" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:23.940581" elapsed="0.000983"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:23.939989" elapsed="0.001646"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:23.939142" elapsed="0.002537"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:23.941982" elapsed="0.000341"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:23.942997" elapsed="0.000958"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:11:23.942705" elapsed="0.001328"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:23.945503" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:23.944508" elapsed="0.001277">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:11:23.944218" elapsed="0.001723">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:23.942435" elapsed="0.003630">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:23.928301" elapsed="0.017994">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:23.920744" elapsed="0.025741">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:25.949847" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:25.948999" elapsed="0.000916"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:11:25.950642" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:25.950084" elapsed="0.000679"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:25.950040" elapsed="0.000777"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:25.966965" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:25.967279" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:25.967499" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:25.956495" 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-09-26T23:11:25.968327" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:25.967750" elapsed="0.000694"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:25.969774" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:25.968920" elapsed="0.001080"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:25.968495" elapsed="0.001585"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:25.967710" elapsed="0.002447"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:25.970469" elapsed="0.000574"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:25.971883" elapsed="0.000964"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:11:25.971418" elapsed="0.001510"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:25.974754" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:25.973406" elapsed="0.001501">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:11:25.973114" elapsed="0.001942">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:25.971178" elapsed="0.004023">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:25.955633" elapsed="0.019775">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:25.948071" elapsed="0.027588">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:27.978756" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:27.977807" elapsed="0.001020"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:11:27.979609" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:27.979007" elapsed="0.000744"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:27.978958" elapsed="0.000847"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:27.995616" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:27.995923" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:27.996269" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:27.986352" elapsed="0.009994"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:27.997452" elapsed="0.000119"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:27.996616" elapsed="0.001058"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:27.999258" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:27.998314" elapsed="0.001101"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:27.997757" elapsed="0.001797"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:27.996552" elapsed="0.003081"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:28.000056" elapsed="0.000408"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:28.001357" elapsed="0.001708"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:11:28.000960" elapsed="0.002226"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:28.004837" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:28.003722" elapsed="0.001326">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:11:28.003359" elapsed="0.001879">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:28.000659" elapsed="0.004708">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:27.985391" elapsed="0.020217">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:27.976767" elapsed="0.029041">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:30.008597" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:30.007704" elapsed="0.000965"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:11:30.009407" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:30.008854" elapsed="0.000826"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:30.008806" elapsed="0.000938"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:30.028999" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:30.029313" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:30.029548" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:30.015930" elapsed="0.013675"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:30.030394" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:30.029772" elapsed="0.000766"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:30.031798" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:30.030958" elapsed="0.000946"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:30.030592" elapsed="0.001380"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:30.029728" elapsed="0.002289"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:30.032342" elapsed="0.000341"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:30.033338" elapsed="0.000937"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:11:30.033026" elapsed="0.001328"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:30.035812" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:30.034835" elapsed="0.001123">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:11:30.034544" elapsed="0.001579">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:30.032793" elapsed="0.003455">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:30.014979" elapsed="0.021470">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:30.006744" elapsed="0.030034">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<msg time="2026-09-26T23:11:30.036972" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>CONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-09-26T23:09:58.658779" elapsed="91.378533">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-26T23:11:30.037761" elapsed="0.000046"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:11:30.039606" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-26T23:11:30.368688" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:11:30.369043" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:11:30.369164" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:11:30.369251" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:11:30.039227" elapsed="0.330073"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:30.370546" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:30.369893" elapsed="0.000744"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:11:30.371381" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-26T23:11:30.702253" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:11:30.702669" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:11:30.702764" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:11:30.702853" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:11:30.371019" elapsed="0.331884"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:11:30.703858" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-26T23:11:30.773948" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:11:30.774252" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-26T23:11:30.774345" level="INFO">${stderr} = </msg>
<msg time="2026-09-26T23:11:30.774428" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:11:30.703424" elapsed="0.071051"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:11:30.775194" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-26T23:11:30.825740" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:11:30.774954" elapsed="0.050926"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:30.842930" level="INFO">DELETE Request : url=http://10.30.171.168: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=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:30.843029" level="INFO">DELETE Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:30.843274" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:30.826244" elapsed="0.017085"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:30.859066" level="INFO">DELETE Request : url=http://10.30.171.168: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=node01i9j0l38lulax8w3t4znmvflk0.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:30.859386" level="INFO">DELETE Response : url=http://10.30.171.168:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-26T23:11:30.859752" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:30.843681" elapsed="0.016128"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-26T23:11:30.038427" elapsed="0.821527"/>
</kw>
<doc>Correct credentials should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-09-26T23:09:57.069346" elapsed="93.790712">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDGbSsKblDL7YBX9D6fLTDyBwQ0W1wEF74bwwyPWbfiaCz90RPuERtarovI17u98h0wfnWbVcXHLWcj174S3VDlO7paElqGVo0X+VZSaQ1YT0O2Xto6lC00SaIquZ5z+eEfCpNUywrBT8LMp9frRtTkUx+HSu0YWKJxx5lKzevx0pMzVPWdfQ/jd3Q0GT/KyaQPOl5l5loRB4QWCHcWPgRvA4pYP0epQaxcWyhcGPp5gpmL1kKL3Ry0qouL2y5A17/braiwXuOCMSEDnqG+Q+UAQUjTRixObErP3ALIDRtyCA/A0yA6lDORr3pnT5BhCium4GeNvH8ZD2xh4gz0+YP1","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</test>
<test id="s1-s1-t2" name="CallHome over SSH with incorrect device credentials" line="34">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:30.863297" level="INFO">Creating Session using : alias=session, url=http://10.30.171.168:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7e2a772fd750&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-26T23:11:30.862806" elapsed="0.000831"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:11:30.864241" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-26T23:11:30.881269" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:11:30.864021" elapsed="0.017376"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:11:30.882023" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-26T23:11:31.247482" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:11:30.881821" elapsed="0.365916"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:11:31.248542" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-26T23:11:31.298184" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:11:31.298456" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:11:31.248250" elapsed="0.050301"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-26T23:11:31.302428" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes the variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-26T23:11:31.299007" elapsed="0.003547"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-26T23:11:30.861979" elapsed="0.440711"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:11:31.342583" 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-09-26T23:11:31.303802" elapsed="0.038916"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:11:31.353076" 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-09-26T23:11:31.343111" elapsed="0.010113"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-26T23:11:31.303070" elapsed="0.050284"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-26T23:11:31.355313" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:31.354677" elapsed="0.000746"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-26T23:11:31.356752" 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-09-26T23:11:31.357035" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-26T23:11:31.356433" elapsed="0.000769"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-26T23:11:31.358311" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes the variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-26T23:11:31.357603" elapsed="0.000810"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:31.355797" elapsed="0.002768"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:31.355479" elapsed="0.003138"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:31.354628" elapsed="0.004033"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:11:31.359446" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
      ...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:11:31.358979" elapsed="0.000524"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:11:31.360304" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
          },...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:11:31.359867" elapsed="0.000493"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:11:31.361165" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "incorrect" ]
          },
...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:11:31.360723" elapsed="0.000499"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:11:31.361978" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "incorrect" ]
          },
...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:11:31.361576" elapsed="0.000458"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:31.382587" level="INFO">POST Request : url=http://10.30.171.168: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN"
        }
    }
}
 
 </msg>
<msg time="2026-09-26T23:11:31.382709" level="INFO">POST Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 25-Sep-2026 23:11:31 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:31.382943" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:31.362351" elapsed="0.020664"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:11:31.383460" elapsed="0.000874"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>root</arg>
<arg>incorrect</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-26T23:11:31.353906" elapsed="0.030555"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:11:31.385253" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-26T23:11:31.711712" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:11:31.712175" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:11:31.712488" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:11:31.712618" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:11:31.384880" elapsed="0.327792"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:31.718778" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:31.717985" elapsed="0.000853"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:11:31.719557" elapsed="0.000403"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:31.719005" elapsed="0.001035"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:31.718958" elapsed="0.001160"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:31.736287" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:31.736789" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:31.737037" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:31.725707" elapsed="0.011408"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:31.738144" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:31.737303" elapsed="0.000968"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:31.739631" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:31.738731" elapsed="0.001004"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:31.738325" elapsed="0.001478"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:31.737255" elapsed="0.002592"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:31.740170" elapsed="0.000318"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:31.742239" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:31.741205" elapsed="0.001188">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:11:31.740883" elapsed="0.001687">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:31.740638" elapsed="0.002063">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:31.724830" elapsed="0.018083">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:31.714620" elapsed="0.028516">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:33.745951" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:33.745145" elapsed="0.001004"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:11:33.746848" elapsed="0.000392"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:33.746325" elapsed="0.000993"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:33.746281" elapsed="0.001090"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:33.763345" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:33.763691" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:33.763900" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:33.753004" elapsed="0.010951"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:33.764793" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:33.764159" elapsed="0.000753"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:33.766206" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:33.765354" elapsed="0.000957"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:33.764965" elapsed="0.001420"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:33.764111" elapsed="0.002336"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:33.766840" elapsed="0.000351"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:33.768941" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:33.767888" elapsed="0.001229">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:11:33.767587" elapsed="0.001685">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:33.767311" elapsed="0.002701">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:33.752125" elapsed="0.018128">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:33.744197" elapsed="0.026425">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:35.773619" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:35.772643" elapsed="0.001056"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:11:35.774440" elapsed="0.000466"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:35.773888" elapsed="0.001109"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:35.773839" elapsed="0.001214"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:35.791679" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:35.792032" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:35.792287" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:35.781247" elapsed="0.011101"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:35.793256" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:35.792558" elapsed="0.000825"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:35.794730" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:35.793839" elapsed="0.000999"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:35.793436" elapsed="0.001475"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:35.792478" elapsed="0.002478"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:35.795289" elapsed="0.000460"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:35.797824" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:35.796631" elapsed="0.001362">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:11:35.796244" elapsed="0.001937">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:35.795938" elapsed="0.002383">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:35.780339" elapsed="0.018338">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:35.771609" elapsed="0.027283">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:37.801750" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:37.800857" 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-09-26T23:11:37.802566" elapsed="0.000384"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:37.802005" elapsed="0.001027"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:37.801956" elapsed="0.001157"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:37.820017" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:37.820375" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:37.820658" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:37.809286" elapsed="0.011431"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:37.821585" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:37.820908" elapsed="0.000805"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:37.823025" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:37.822166" elapsed="0.000994"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:37.821767" elapsed="0.001467"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:37.820860" elapsed="0.002420"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:37.823625" elapsed="0.000330"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:37.825745" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:37.824686" elapsed="0.001217">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:11:37.824349" elapsed="0.001711">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:37.824073" elapsed="0.002253">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:37.808315" elapsed="0.018257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:37.799854" elapsed="0.026925">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:39.829442" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:39.828637" elapsed="0.000872"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:11:39.830247" elapsed="0.000403"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:39.829721" elapsed="0.001011"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:39.829673" elapsed="0.001113"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:39.848964" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:39.849375" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:39.849611" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:39.836410" elapsed="0.013257"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:39.850416" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:39.849830" elapsed="0.000733"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:39.851868" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:39.851037" elapsed="0.000937"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:39.850616" elapsed="0.001427"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:39.849789" elapsed="0.002324"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:39.852418" elapsed="0.000350"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:39.854496" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:39.853432" elapsed="0.001351">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:11:39.853139" elapsed="0.001800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:39.852883" elapsed="0.002182">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:39.835553" elapsed="0.019742">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:39.827709" elapsed="0.027779">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:41.857968" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:41.856992" elapsed="0.001023"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:11:41.858484" elapsed="0.000253"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:41.858150" elapsed="0.000637"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:41.858119" elapsed="0.000705"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:41.871125" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:41.871330" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:41.871472" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:41.862277" elapsed="0.009232"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:41.872011" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:41.871649" elapsed="0.000452"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:41.872918" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:41.872375" elapsed="0.000693"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:41.872136" elapsed="0.001000"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:41.871620" elapsed="0.001547"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:41.873366" elapsed="0.000219"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:41.874690" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:41.874014" elapsed="0.000786">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:11:41.873819" elapsed="0.001079">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:41.873663" elapsed="0.001320">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:41.861746" elapsed="0.013395">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:41.856280" elapsed="0.018993">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:43.878149" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:43.877231" 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="PASS" start="2026-09-26T23:11:43.879013" elapsed="0.000436"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:43.878440" elapsed="0.001129"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:43.878380" elapsed="0.001250"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:43.894884" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:43.895213" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:43.895603" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:43.885748" elapsed="0.009914"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:43.896422" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:43.895830" elapsed="0.000740"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:43.897821" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:43.896988" elapsed="0.000939"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:43.896622" elapsed="0.001374"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:43.895788" elapsed="0.002253"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:43.898452" elapsed="0.000356"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:43.900509" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:43.899485" elapsed="0.001227">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:11:43.899192" elapsed="0.001672">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:43.898925" elapsed="0.002064">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:43.884795" elapsed="0.016424">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:43.876254" elapsed="0.025163">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:45.905000" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:45.904050" 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="PASS" start="2026-09-26T23:11:45.905902" elapsed="0.000416"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:45.905288" elapsed="0.001116"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:45.905240" elapsed="0.001221"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:45.922881" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:45.923196" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:45.923423" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:45.912570" elapsed="0.010908"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:45.924258" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:45.923677" elapsed="0.000698"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:45.925665" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:45.924837" elapsed="0.000933"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:45.924425" elapsed="0.001415"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:45.923636" elapsed="0.002249"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:45.926229" elapsed="0.000336"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:45.928226" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:45.927223" elapsed="0.001153">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:11:45.926910" elapsed="0.001641">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:45.926677" elapsed="0.002001">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:45.911631" elapsed="0.017321">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:45.903007" elapsed="0.026185">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:47.932369" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:47.931377" elapsed="0.001093"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:11:47.933477" elapsed="0.000450"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:47.932876" elapsed="0.001134"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:47.932828" elapsed="0.001237"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:47.949633" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:47.949949" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:47.950196" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:47.939978" elapsed="0.010277"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:47.951246" elapsed="0.000089"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:47.950444" elapsed="0.000969"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:47.953164" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:47.951977" elapsed="0.001305"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:47.951473" elapsed="0.001883"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:47.950394" elapsed="0.003006"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:47.953744" elapsed="0.000352"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:47.956362" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:47.954789" elapsed="0.001823">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:11:47.954458" elapsed="0.002324">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:47.954214" elapsed="0.002704">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:47.939057" elapsed="0.018101">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:47.930240" elapsed="0.027237">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:49.960195" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:49.959366" elapsed="0.000897"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:11:49.960963" elapsed="0.000399"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:49.960436" elapsed="0.001017"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:49.960392" elapsed="0.001115"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:49.976926" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:49.977270" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:49.977488" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:49.967342" elapsed="0.010232"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:49.978417" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:49.977762" elapsed="0.000807"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:49.980011" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:49.979013" elapsed="0.001207"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:49.978623" elapsed="0.001672"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:49.977715" elapsed="0.002627"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:49.980737" elapsed="0.000361"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:49.982893" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:49.981807" elapsed="0.001244">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:11:49.981459" elapsed="0.001776">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:49.981216" elapsed="0.002151">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:49.966449" elapsed="0.017283">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:49.958426" elapsed="0.025524">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:51.986423" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:51.985659" elapsed="0.000830"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:11:51.987160" elapsed="0.000338"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:51.986684" elapsed="0.000981"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:51.986641" elapsed="0.001080"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:52.001755" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:52.002001" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:52.002210" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:51.993177" elapsed="0.009073"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:52.002868" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:52.002397" elapsed="0.000552"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:52.003837" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:52.003279" elapsed="0.000627"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:52.002984" elapsed="0.000966"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:52.002357" elapsed="0.001621"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:52.004191" elapsed="0.000196"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:52.005386" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:52.004792" elapsed="0.000699">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:11:52.004612" elapsed="0.000993">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:52.004457" elapsed="0.001313">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:51.992379" elapsed="0.013531">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:51.984809" elapsed="0.021231">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:54.008720" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:54.007885" elapsed="0.000903"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:11:54.009488" elapsed="0.000394"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:54.008966" elapsed="0.000995"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:54.008922" elapsed="0.001094"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:54.025090" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:54.025392" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:54.025621" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:54.015716" elapsed="0.009962"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:54.026415" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:54.025840" elapsed="0.000722"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:54.027816" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:54.026974" elapsed="0.000947"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:54.026615" elapsed="0.001374"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:54.025800" elapsed="0.002233"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:54.028360" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:54.030409" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:54.029371" elapsed="0.001318">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:11:54.029053" elapsed="0.001788">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:54.028817" elapsed="0.002150">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:54.014835" elapsed="0.016418">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:54.006968" elapsed="0.024485">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:56.035017" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:56.033605" elapsed="0.001508"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:11:56.035864" elapsed="0.000418"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:56.035297" elapsed="0.001072"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:56.035250" elapsed="0.001177"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:56.052900" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:56.053237" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:56.053474" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:56.042893" elapsed="0.010674"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:56.054361" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:56.053746" elapsed="0.000743"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:56.055861" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:56.054971" elapsed="0.001124"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:56.054576" elapsed="0.001599"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:56.053701" elapsed="0.002523"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:56.056585" elapsed="0.000343"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:56.058863" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:56.057672" elapsed="0.001356">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:11:56.057327" elapsed="0.001889">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:56.057048" elapsed="0.002304">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:56.041936" elapsed="0.017668">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:56.032618" elapsed="0.027201">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:11:58.063307" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:11:58.062151" elapsed="0.001247"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:11:58.064302" elapsed="0.000432"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:58.063622" elapsed="0.001198"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:58.063567" elapsed="0.001309"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:11:58.082664" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:11:58.083004" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:11:58.083412" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:11:58.071354" elapsed="0.012117"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:11:58.084273" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:11:58.083674" elapsed="0.000721"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:11:58.085704" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:11:58.084848" elapsed="0.000966"/>
</kw>
<status status="PASS" start="2026-09-26T23:11:58.084448" elapsed="0.001437"/>
</branch>
<status status="PASS" start="2026-09-26T23:11:58.083631" elapsed="0.002300"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:11:58.086277" elapsed="0.000362"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:11:58.088639" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:11:58.087546" elapsed="0.001298">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:11:58.087142" elapsed="0.001874">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:11:58.086829" elapsed="0.002344">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:11:58.070317" elapsed="0.019063">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:58.061013" elapsed="0.028617">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:00.093204" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:00.092237" elapsed="0.001040"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:00.094044" elapsed="0.000416"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:00.093458" elapsed="0.001175"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:00.093411" elapsed="0.001303"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:00.111401" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:00.111761" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:00.112054" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:00.100658" elapsed="0.011489"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:00.113006" elapsed="0.000092"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:00.112316" elapsed="0.000855"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:00.114557" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:00.113686" elapsed="0.001006"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:00.113223" elapsed="0.001595"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:00.112274" elapsed="0.002612"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:00.115232" elapsed="0.000371"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:00.117606" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:00.116376" elapsed="0.001394">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:00.115966" elapsed="0.001960">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:00.115719" elapsed="0.002337">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:00.099755" elapsed="0.018627">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:00.091285" elapsed="0.027365">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:02.121358" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:02.120563" elapsed="0.000865"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:02.122148" elapsed="0.000393"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:02.121631" elapsed="0.000992"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:02.121586" elapsed="0.001091"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:02.137420" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:02.137753" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:02.137954" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:02.128297" elapsed="0.009717"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:02.138784" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:02.138203" elapsed="0.000744"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:02.140270" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:02.139420" elapsed="0.000956"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:02.139000" elapsed="0.001443"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:02.138161" elapsed="0.002327"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:02.140820" elapsed="0.000337"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:02.143325" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:02.141827" elapsed="0.001656">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:02.141505" elapsed="0.002161">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:02.141269" elapsed="0.002527">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:02.127426" elapsed="0.016574">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:02.119637" elapsed="0.024683">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:04.146975" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:04.146162" elapsed="0.000883"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:04.147807" elapsed="0.000441"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:04.147242" elapsed="0.001087"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:04.147196" elapsed="0.001187"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:04.163909" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:04.164237" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:04.164436" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:04.154089" elapsed="0.010401"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:04.165298" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:04.164685" elapsed="0.000732"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:04.166705" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:04.165863" elapsed="0.000948"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:04.165468" elapsed="0.001412"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:04.164644" elapsed="0.002280"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:04.167252" elapsed="0.000352"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:04.169292" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:04.168270" elapsed="0.001177">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:04.167959" elapsed="0.001671">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:04.167719" elapsed="0.002038">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:04.153210" elapsed="0.016882">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:04.145238" elapsed="0.025059">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:06.173005" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:06.172186" elapsed="0.000907"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:06.173795" elapsed="0.000388"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:06.173266" elapsed="0.000997"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:06.173222" elapsed="0.001095"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:06.190030" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:06.190353" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:06.190606" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:06.180434" elapsed="0.010231"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:06.191400" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:06.190828" elapsed="0.000719"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:06.192820" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:06.191983" elapsed="0.000945"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:06.191602" elapsed="0.001395"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:06.190787" elapsed="0.002255"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:06.193378" elapsed="0.000351"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:06.195422" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:06.194402" elapsed="0.001206">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:06.194105" elapsed="0.001652">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:06.193843" elapsed="0.002139">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:06.179578" elapsed="0.016635">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:06.171236" elapsed="0.025176">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:08.199357" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:08.198377" 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-09-26T23:12:08.200181" elapsed="0.000404"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:08.199643" elapsed="0.001027"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:08.199596" elapsed="0.001138"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:08.216511" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:08.216872" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:08.217100" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:08.207096" elapsed="0.010062"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:08.217938" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:08.217323" elapsed="0.000760"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:08.219555" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:08.218635" elapsed="0.001037"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:08.218137" elapsed="0.001607"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:08.217283" elapsed="0.002506"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:08.220124" elapsed="0.000326"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:08.222432" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:08.221265" elapsed="0.001468">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:08.220848" elapsed="0.002079">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:08.220601" elapsed="0.002501">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:08.206177" elapsed="0.017210">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:08.197343" elapsed="0.026387">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:10.227228" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:10.225662" elapsed="0.001636"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:10.228022" elapsed="0.000406"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:10.227479" elapsed="0.001029"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:10.227431" elapsed="0.001165"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:10.243036" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:10.243363" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:10.243620" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:10.234229" elapsed="0.009449"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:10.244405" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:10.243839" elapsed="0.000714"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:10.245797" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:10.244971" elapsed="0.001039"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:10.244606" elapsed="0.001511"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:10.243799" elapsed="0.002365"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:10.246472" elapsed="0.000354"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:10.248572" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:10.247503" elapsed="0.001224">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:10.247206" elapsed="0.001671">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:10.246941" elapsed="0.002062">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:10.233342" elapsed="0.015891">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:10.224689" elapsed="0.024745">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:12.252201" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:12.251329" elapsed="0.000942"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:12.253021" elapsed="0.000393"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:12.252441" elapsed="0.001053"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:12.252397" elapsed="0.001185"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:12.269044" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:12.269366" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:12.269702" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:12.259210" elapsed="0.010549"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:12.270562" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:12.269929" elapsed="0.000755"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:12.271990" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:12.271139" elapsed="0.000989"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:12.270735" elapsed="0.001464"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:12.269887" elapsed="0.002356"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:12.272574" elapsed="0.000318"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:12.274649" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:12.273608" elapsed="0.001196">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:12.273272" elapsed="0.001682">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:12.273008" elapsed="0.002091">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:12.258335" elapsed="0.016972">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:12.250407" elapsed="0.025093">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:14.280892" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:14.280018" elapsed="0.000946"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:14.281734" elapsed="0.000436"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:14.281171" elapsed="0.001088"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:14.281124" elapsed="0.001192"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:14.296869" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:14.297183" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:14.297402" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:14.287999" elapsed="0.009463"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:14.298279" elapsed="0.000075"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:14.297666" elapsed="0.000772"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:14.299781" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:14.298925" elapsed="0.000961"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:14.298497" elapsed="0.001459"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:14.297623" elapsed="0.002378"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:14.300326" elapsed="0.000342"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:14.302374" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:14.301326" elapsed="0.001232">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:14.301012" elapsed="0.001698">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:14.300779" elapsed="0.002056">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:14.287129" elapsed="0.015911">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:14.279095" elapsed="0.024166">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:16.306083" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:16.305222" elapsed="0.000940"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:16.306984" elapsed="0.000490"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:16.306340" elapsed="0.001264"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:16.306294" elapsed="0.001380"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:16.324183" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:16.324482" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:16.324720" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:16.313890" elapsed="0.010888"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:16.325570" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:16.324944" elapsed="0.000749"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:16.326944" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:16.326132" elapsed="0.000974"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:16.325743" elapsed="0.001437"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:16.324902" elapsed="0.002323"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:16.327566" elapsed="0.000322"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:16.330132" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:16.328591" elapsed="0.001696">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:16.328262" elapsed="0.002174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:16.328001" elapsed="0.002593">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:16.312803" elapsed="0.017995">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:16.304261" elapsed="0.026860">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:18.334124" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:18.333234" 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="PASS" start="2026-09-26T23:12:18.334932" elapsed="0.000447"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:18.334383" elapsed="0.001102"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:18.334334" elapsed="0.001257"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:18.350454" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:18.350797" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:18.351002" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:18.341409" elapsed="0.009671"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:18.351838" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:18.351246" elapsed="0.000716"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:18.353287" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:18.352405" elapsed="0.000990"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:18.352014" elapsed="0.001455"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:18.351205" elapsed="0.002340"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:18.353864" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:18.355940" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:18.354898" elapsed="0.001221">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:18.354597" elapsed="0.001683">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:18.354323" elapsed="0.002086">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:18.340542" elapsed="0.016214">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:18.332209" elapsed="0.024756">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:20.359685" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:20.358844" elapsed="0.000911"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:20.360447" elapsed="0.000398"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:20.359928" elapsed="0.000996"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:20.359882" elapsed="0.001095"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:20.376479" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:20.376812" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:20.377033" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:20.367089" elapsed="0.010027"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:20.377866" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:20.377281" elapsed="0.000704"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:20.379273" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:20.378443" elapsed="0.000937"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:20.378037" elapsed="0.001413"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:20.377239" elapsed="0.002257"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:20.379836" elapsed="0.000341"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:20.381877" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:20.380861" elapsed="0.001168">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:20.380553" elapsed="0.001652">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:20.380288" elapsed="0.002153">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:20.366187" elapsed="0.016497">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:20.357920" elapsed="0.024964">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:22.385611" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:22.384771" elapsed="0.000910"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:22.386374" elapsed="0.000393"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:22.385853" elapsed="0.000993"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:22.385809" elapsed="0.001090"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:22.401474" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:22.401860" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:22.402106" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:22.392495" elapsed="0.009672"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:22.402989" elapsed="0.000079"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:22.402348" elapsed="0.000792"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:22.404485" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:22.403620" elapsed="0.001016"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:22.403195" elapsed="0.001517"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:22.402302" elapsed="0.002458"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:22.405115" elapsed="0.000338"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:22.407288" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:22.406199" elapsed="0.001400">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:22.405858" elapsed="0.001906">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:22.405603" elapsed="0.002296">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:22.391641" elapsed="0.016507">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:22.383840" elapsed="0.024524">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:24.412397" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:24.410214" elapsed="0.002257"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:24.413362" elapsed="0.000420"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:24.412683" elapsed="0.001240"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:24.412637" elapsed="0.001373"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:24.430495" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:24.431000" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:24.431332" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:24.420366" elapsed="0.011037"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:24.432379" elapsed="0.000066"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:24.431656" elapsed="0.000900"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:24.434255" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:24.433145" elapsed="0.001498"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:24.432624" elapsed="0.002136"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:24.431600" elapsed="0.003226"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:24.435262" elapsed="0.000429"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:24.438174" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:24.436760" elapsed="0.001600">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:24.436235" elapsed="0.002373">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:24.435832" elapsed="0.002939">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:24.419465" elapsed="0.019605">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:24.409279" elapsed="0.030075">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:26.442073" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:26.441238" elapsed="0.000906"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:26.442850" elapsed="0.000399"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:26.442317" elapsed="0.001013"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:26.442272" elapsed="0.001112"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:26.458821" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:26.459155" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:26.459473" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:26.449015" elapsed="0.010545"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:26.460308" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:26.459723" elapsed="0.000702"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:26.461697" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:26.460872" elapsed="0.000931"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:26.460475" elapsed="0.001397"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:26.459683" elapsed="0.002234"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:26.462246" elapsed="0.000349"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:26.464331" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:26.463267" elapsed="0.001218">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:26.462951" elapsed="0.001717">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:26.462710" elapsed="0.002088">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:26.448160" elapsed="0.016843">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:26.440301" elapsed="0.024924">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:28.468588" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:28.467695" 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-09-26T23:12:28.469377" elapsed="0.000402"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:28.468839" elapsed="0.001020"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:28.468793" elapsed="0.001120"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:28.484885" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:28.485217" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:28.485444" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:28.475594" elapsed="0.009906"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:28.486279" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:28.485698" elapsed="0.000699"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:28.487684" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:28.486844" elapsed="0.000947"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:28.486448" elapsed="0.001412"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:28.485657" elapsed="0.002249"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:28.488233" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:28.490288" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:28.489258" elapsed="0.001184">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:28.488936" elapsed="0.001690">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:28.488694" elapsed="0.002059">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:28.474696" elapsed="0.016262">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:28.466793" elapsed="0.024397">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:30.493973" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:30.493147" elapsed="0.000927"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:30.494787" elapsed="0.000388"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:30.494252" elapsed="0.001005"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:30.494206" elapsed="0.001105"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:30.510350" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:30.510719" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:30.510924" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:30.501224" elapsed="0.009756"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:30.511845" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:30.511240" elapsed="0.000729"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:30.513670" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:30.512713" elapsed="0.001066"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:30.512021" elapsed="0.001832"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:30.511192" elapsed="0.002706"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:30.514234" elapsed="0.000356"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:30.516913" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:30.515258" elapsed="0.001864">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:30.514945" elapsed="0.002337">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:30.514705" elapsed="0.002708">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:30.500325" elapsed="0.017390">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:30.492206" elapsed="0.025874">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:32.520829" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:32.519995" elapsed="0.000903"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:32.521678" elapsed="0.000391"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:32.521102" elapsed="0.001050"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:32.521026" elapsed="0.001182"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:32.537083" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:32.537391" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:32.537625" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:32.527869" elapsed="0.009813"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:32.538504" elapsed="0.000106"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:32.537846" elapsed="0.000847"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:32.539948" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:32.539138" elapsed="0.000948"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:32.538747" elapsed="0.001414"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:32.537804" elapsed="0.002401"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:32.540509" elapsed="0.000346"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:32.542593" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:32.541550" elapsed="0.001199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:32.541226" elapsed="0.001671">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:32.540967" elapsed="0.002055">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:32.526984" elapsed="0.016374">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:32.519085" elapsed="0.024504">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:34.546271" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:34.545391" elapsed="0.000951"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:34.547081" elapsed="0.000369"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:34.546548" elapsed="0.001011"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:34.546471" elapsed="0.001144"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:34.562605" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:34.562905" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:34.563165" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:34.553687" elapsed="0.009537"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:34.563979" elapsed="0.000074"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:34.563388" elapsed="0.000742"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:34.565437" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:34.564625" elapsed="0.000953"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:34.564208" elapsed="0.001442"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:34.563347" elapsed="0.002350"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:34.566005" elapsed="0.000339"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:34.568075" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:34.567022" elapsed="0.001211">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:34.566725" elapsed="0.001655">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:34.566455" elapsed="0.002176">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:34.552792" elapsed="0.016050">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:34.544461" elapsed="0.024603">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:36.571872" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:36.571054" elapsed="0.000890"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:36.572670" elapsed="0.000384"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:36.572141" elapsed="0.000996"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:36.572095" elapsed="0.001096"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:36.587763" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:36.588081" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:36.588282" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:36.578897" elapsed="0.009441"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:36.589112" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:36.588499" elapsed="0.000730"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:36.590473" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:36.589679" elapsed="0.000944"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:36.589280" elapsed="0.001413"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:36.588459" elapsed="0.002279"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:36.591065" elapsed="0.000315"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:36.593098" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:36.592071" elapsed="0.001273">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:36.591759" elapsed="0.001738">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:36.591492" elapsed="0.002176">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:36.577995" elapsed="0.015879">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:36.569997" elapsed="0.024092">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:38.597375" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:38.595995" elapsed="0.001450"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:38.598209" elapsed="0.000462"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:38.597652" elapsed="0.001104"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:38.597606" elapsed="0.001205"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:38.614148" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:38.614439" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:38.614698" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:38.604400" elapsed="0.010356"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:38.615499" elapsed="0.000083"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:38.614921" elapsed="0.000729"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:38.616935" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:38.616127" elapsed="0.001041"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:38.615702" elapsed="0.001539"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:38.614880" elapsed="0.002406"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:38.617625" elapsed="0.000319"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:38.619688" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:38.618641" elapsed="0.001199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:38.618315" elapsed="0.001674">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:38.618076" elapsed="0.002067">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:38.603547" elapsed="0.016804">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:38.595067" elapsed="0.025511">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:40.623189" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:40.622361" elapsed="0.000900"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:40.623958" elapsed="0.000386"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:40.623432" elapsed="0.001005"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:40.623388" elapsed="0.001123"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:40.640139" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:40.640467" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:40.640819" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:40.630284" elapsed="0.010594"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:40.641718" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:40.641082" elapsed="0.000756"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:40.643140" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:40.642289" elapsed="0.000959"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:40.641890" elapsed="0.001427"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:40.641014" elapsed="0.002347"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:40.643696" elapsed="0.000314"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:40.645748" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:40.644714" elapsed="0.001183">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:40.644384" elapsed="0.001679">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:40.644143" elapsed="0.002046">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:40.629398" elapsed="0.016994">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:40.621444" elapsed="0.025170">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:42.649890" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:42.649084" elapsed="0.000874"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:42.650722" elapsed="0.000390"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:42.650163" elapsed="0.001029"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:42.650118" elapsed="0.001128"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:42.667731" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:42.668060" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:42.668294" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:42.657268" elapsed="0.011082"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:42.669171" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:42.668554" elapsed="0.000736"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:42.670620" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:42.669747" elapsed="0.000987"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:42.669342" elapsed="0.001461"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:42.668480" elapsed="0.002369"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:42.671186" elapsed="0.000315"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:42.673300" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:42.672251" elapsed="0.001234">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:42.671925" elapsed="0.001783">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:42.671677" elapsed="0.002170">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:42.656148" elapsed="0.017943">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:42.648182" elapsed="0.026120">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:44.677301" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:44.676401" 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="PASS" start="2026-09-26T23:12:44.678155" elapsed="0.000402"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:44.677581" elapsed="0.001057"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:44.677504" elapsed="0.001189"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:44.693844" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:44.694171" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:44.694368" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:44.684462" elapsed="0.009960"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:44.695173" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:44.694610" elapsed="0.000680"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:44.696570" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:44.695739" elapsed="0.000937"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:44.695339" elapsed="0.001406"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:44.694569" elapsed="0.002220"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:44.697115" elapsed="0.000312"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:44.699567" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:44.698116" elapsed="0.001604">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:44.697803" elapsed="0.002066">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:44.697566" elapsed="0.002428">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:44.683540" elapsed="0.016682">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:44.675404" elapsed="0.025147">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:46.703325" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:46.702456" elapsed="0.000938"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:46.704138" elapsed="0.000364"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:46.703604" elapsed="0.001013"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:46.703555" elapsed="0.001118"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:46.720321" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:46.720655" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:46.720857" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:46.710281" elapsed="0.010632"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:46.721684" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:46.721102" elapsed="0.000703"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:46.723095" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:46.722255" elapsed="0.000949"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:46.721857" elapsed="0.001418"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:46.721059" elapsed="0.002261"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:46.723656" elapsed="0.000313"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:46.725693" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:46.724657" elapsed="0.001187">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:46.724337" elapsed="0.001654">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:46.724100" elapsed="0.002040">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:46.709406" elapsed="0.017041">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:46.701483" elapsed="0.025202">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:48.729567" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:48.728704" 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-09-26T23:12:48.730476" elapsed="0.000406"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:48.729873" elapsed="0.001088"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:48.729826" elapsed="0.001210"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:48.746306" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:48.746649" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:48.746882" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:48.737108" elapsed="0.009832"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:48.747740" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:48.747134" elapsed="0.000726"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:48.749180" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:48.748324" elapsed="0.000964"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:48.747912" elapsed="0.001445"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:48.747090" elapsed="0.002313"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:48.749737" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:48.751792" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:48.750759" elapsed="0.001189">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:48.750434" elapsed="0.001694">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:48.750197" elapsed="0.002172">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:48.736227" elapsed="0.016389">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:48.727718" elapsed="0.025106">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:50.755609" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:50.754767" elapsed="0.000911"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:50.756416" elapsed="0.000409"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:50.755851" elapsed="0.001053"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:50.755807" elapsed="0.001150"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:50.771777" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:50.772104" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:50.772306" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:50.762701" elapsed="0.009658"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:50.773128" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:50.772548" elapsed="0.000707"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:50.774489" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:50.773705" elapsed="0.000937"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:50.773305" elapsed="0.001407"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:50.772479" elapsed="0.002278"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:50.775092" elapsed="0.000315"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:50.777106" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:50.776092" elapsed="0.001260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:50.775784" elapsed="0.001718">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:50.775545" elapsed="0.002171">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:50.761791" elapsed="0.016136">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:50.753801" elapsed="0.024350">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:52.781498" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:52.780089" elapsed="0.001520"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:52.782319" elapsed="0.000399"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:52.781789" elapsed="0.001007"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:52.781742" elapsed="0.001109"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:52.797360" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:52.797703" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:52.797922" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:52.788489" elapsed="0.009487"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:52.798735" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:52.798162" elapsed="0.000691"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:52.800126" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:52.799285" elapsed="0.001043"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:52.798903" elapsed="0.001497"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:52.798121" elapsed="0.002325"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:52.800788" elapsed="0.000343"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:52.802844" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:52.801813" elapsed="0.001183">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:52.801479" elapsed="0.001693">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:52.801243" elapsed="0.002059">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:52.787637" elapsed="0.015870">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:52.779122" elapsed="0.024618">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:54.806458" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:54.805639" elapsed="0.000920"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:54.807302" elapsed="0.000395"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:54.806737" elapsed="0.001038"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:54.806691" elapsed="0.001139"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:54.823200" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:54.823495" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:54.823827" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:54.813815" elapsed="0.010066"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:54.825078" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:54.824296" elapsed="0.000898"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:54.826417" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:54.825629" elapsed="0.000922"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:54.825245" elapsed="0.001378"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:54.823999" elapsed="0.002669"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:54.826970" elapsed="0.000334"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:54.828966" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:54.827969" elapsed="0.001169">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:54.827678" elapsed="0.001612">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:54.827414" elapsed="0.001999">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:54.812791" elapsed="0.016854">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:54.804658" elapsed="0.025184">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:56.835594" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:56.834754" elapsed="0.000909"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:12:56.836372" elapsed="0.000401"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:56.835835" elapsed="0.001018"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:56.835791" elapsed="0.001115"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:56.852808" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:56.853128" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:56.853350" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:56.842811" elapsed="0.010593"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:56.854207" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:56.853596" elapsed="0.000731"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:56.855607" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:56.854764" elapsed="0.000949"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:56.854377" elapsed="0.001405"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:56.853553" elapsed="0.002275"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:56.856150" elapsed="0.000314"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:56.858728" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:56.857259" elapsed="0.001624">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:56.856846" elapsed="0.002212">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:56.856605" elapsed="0.002581">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:56.841906" elapsed="0.017486">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:56.833809" elapsed="0.025808">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:12:58.862701" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:12:58.861800" 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="PASS" start="2026-09-26T23:12:58.863472" elapsed="0.000399"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:58.862947" elapsed="0.001004"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:58.862901" elapsed="0.001150"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:12:58.878851" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:12:58.879175" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:12:58.879377" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:12:58.869819" elapsed="0.009614"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:12:58.880204" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:12:58.879626" elapsed="0.000696"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:12:58.881585" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:12:58.880764" elapsed="0.000930"/>
</kw>
<status status="PASS" start="2026-09-26T23:12:58.880372" elapsed="0.001413"/>
</branch>
<status status="PASS" start="2026-09-26T23:12:58.879584" elapsed="0.002256"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:12:58.882179" elapsed="0.000319"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:12:58.884684" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:12:58.883194" elapsed="0.001647">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:12:58.882883" elapsed="0.002109">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:12:58.882643" elapsed="0.002506">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:12:58.868909" elapsed="0.016447">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:12:58.860785" elapsed="0.024910">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:00.888453" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:00.887623" 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-09-26T23:13:00.889263" elapsed="0.000401"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:00.888737" elapsed="0.001005"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:00.888690" elapsed="0.001107"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:00.904143" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:00.904433" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:00.904664" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:00.895414" elapsed="0.009307"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:00.905459" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:00.904882" elapsed="0.000727"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:00.906848" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:00.906048" elapsed="0.000906"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:00.905661" elapsed="0.001391"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:00.904842" elapsed="0.002258"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:00.907464" elapsed="0.000357"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:00.909564" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:00.908503" elapsed="0.001218">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:13:00.908204" elapsed="0.001668">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:00.907937" elapsed="0.002060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:00.894574" elapsed="0.015772">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:00.886654" elapsed="0.023924">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:02.913452" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:02.912577" 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-09-26T23:13:02.914309" elapsed="0.000434"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:02.913751" elapsed="0.001078"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:02.913702" elapsed="0.001187"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:02.931215" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:02.931559" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:02.931794" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:02.921611" elapsed="0.010238"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:02.932650" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:02.932042" elapsed="0.000725"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:02.934086" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:02.933210" elapsed="0.000981"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:02.932820" elapsed="0.001440"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:02.931976" elapsed="0.002328"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:02.934639" elapsed="0.000313"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:02.936779" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:02.935650" elapsed="0.001282">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:13:02.935321" elapsed="0.001786">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:02.935087" elapsed="0.002264">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:02.920653" elapsed="0.016941">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:02.911563" elapsed="0.026269">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<msg time="2026-09-26T23:13:02.938057" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-09-26T23:11:31.713248" elapsed="91.225049">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:02.938758" elapsed="0.000045"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:13:02.940663" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-26T23:13:03.249929" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:13:03.250302" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:13:03.250396" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:13:03.250483" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:13:02.940266" elapsed="0.310303"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:03.251779" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:03.251135" elapsed="0.000736"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:13:03.252663" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-26T23:13:03.592294" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:13:03.592652" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:13:03.592744" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:13:03.592831" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:13:03.252285" elapsed="0.340595"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:13:03.593820" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-26T23:13:03.665768" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:13:03.666116" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-26T23:13:03.666212" level="INFO">${stderr} = </msg>
<msg time="2026-09-26T23:13:03.666297" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:13:03.593393" elapsed="0.073060"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:13:03.667234" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-26T23:13:03.713977" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:13:03.666977" elapsed="0.047208"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:03.727207" level="INFO">DELETE Request : url=http://10.30.171.168: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=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:03.727305" level="INFO">DELETE Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:03.727492" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:03.714605" elapsed="0.012980"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:03.735626" level="INFO">DELETE Request : url=http://10.30.171.168: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=node0oqw446lyl0zmwuz5gl4xp6ii1.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:03.735897" level="INFO">DELETE Response : url=http://10.30.171.168:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-26T23:13:03.736144" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:03.727905" elapsed="0.008294"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-26T23:13:02.939428" elapsed="0.796915"/>
</kw>
<doc>Correct credentials should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-09-26T23:11:30.860694" elapsed="92.875745">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCPt4Rs8Vj7khlBpiZTv2o2ueM0wdltDXJR/IGejUANnofA1bHRCucryYmaGHuFABQcEMdo4zMWhyCGT92689tVF8Fn6VR3LwjeLEQyliAT6xeT6DQbdJEqM5T/V4t1uhYpxcE2wm5BhozX/ER2sQmHRx5yfO647O80ugnBR4uH3vUHVoCEEzC6jC3PRux/fQ1ScL9UGjT6/1Kfhh4SSJwd4mTAtbP1YprVyRnq6KxvW5I2Wsvy+Ky6torHwliKIbzrIY4JzPVya/aXJvvKGh51A/QFQ3IVf3QhuN4ZA1HqT/Z6iNwrYZOBteHYTjzxDZotk9zQ34PbHxvscFfwZbtN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</test>
<test id="s1-s1-t3" name="CallHome over SSH with correct global credentials" line="53">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:03.741348" level="INFO">Creating Session using : alias=session, url=http://10.30.171.168:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7e2a7728b510&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-26T23:13:03.740724" elapsed="0.000954"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:13:03.742285" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-26T23:13:03.765321" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:13:03.742086" elapsed="0.023379"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:13:03.766091" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-26T23:13:03.907935" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:13:03.765874" elapsed="0.142214"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:13:03.908747" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-26T23:13:03.957619" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:13:03.957841" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viu...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:13:03.908490" elapsed="0.049407"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-26T23:13:03.962149" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viu...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes the variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-26T23:13:03.958319" elapsed="0.003936"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-26T23:13:03.739325" elapsed="0.223056"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:13:04.005731" 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-09-26T23:13:03.963447" elapsed="0.042501"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:13:04.015563" 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-09-26T23:13:04.006346" elapsed="0.009340"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-26T23:13:03.962759" elapsed="0.053053"/>
</kw>
<kw name="Register global credentials for SSH call-home devices" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-26T23:13:04.017209" 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-09-26T23:13:04.017500" level="INFO">${template} = {
  "credentials": {
    "username": "{username}",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${template}</var>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-26T23:13:04.016915" elapsed="0.000681"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:13:04.018390" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:13:04.017935" elapsed="0.000511"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:13:04.019244" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "root" ]
  }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:13:04.018817" elapsed="0.000483"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:04.044708" level="INFO">PUT Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '79', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "credentials": {
    "username": "root",
    "passwords": [ "root" ]
  }
}
 
 </msg>
<msg time="2026-09-26T23:13:04.044814" level="INFO">PUT Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 25-Sep-2026 23:13:04 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:04.045040" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${global_config_url}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:04.019653" elapsed="0.025444"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:04.045469" elapsed="0.000865"/>
</kw>
<arg>root</arg>
<arg>root</arg>
<doc>Set global credentials for SSH call-home devices</doc>
<status status="PASS" start="2026-09-26T23:13:04.016194" elapsed="0.030268"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-26T23:13:04.049278" 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-09-26T23:13:04.049577" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-26T23:13:04.048997" elapsed="0.000637"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-26T23:13:04.050677" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<arg>${template}</arg>
<doc>Makes the variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-26T23:13:04.049980" elapsed="0.000785"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:04.048380" elapsed="0.002496"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:04.047790" elapsed="0.003136"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-26T23:13:04.051292" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:04.050979" elapsed="0.000412"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:04.047744" elapsed="0.003690"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:13:04.052227" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:13:04.051778" elapsed="0.000505"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:13:04.053081" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:13:04.052642" elapsed="0.000495"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:13:04.053891" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:13:04.053459" elapsed="0.000576"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:13:04.054810" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:13:04.054374" elapsed="0.000493"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:04.071176" level="INFO">POST Request : url=http://10.30.171.168: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=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"
        }
    }
}
 
 </msg>
<msg time="2026-09-26T23:13:04.071285" level="INFO">POST Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:04.071460" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:04.055187" elapsed="0.016356"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:04.071908" elapsed="0.000816"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-26T23:13:04.046993" elapsed="0.025859"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:13:04.073627" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-26T23:13:04.389992" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:13:04.390368" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:13:04.390460" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:13:04.390586" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:13:04.073251" elapsed="0.317387"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:04.394060" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:04.393287" elapsed="0.000832"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:04.394809" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:04.394284" elapsed="0.000643"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:04.394238" elapsed="0.000741"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:04.410347" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:04.410680" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:04.410902" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:04.401179" elapsed="0.009779"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:04.411731" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:04.411141" elapsed="0.000709"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:04.413116" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:04.412286" elapsed="0.001047"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:04.411901" elapsed="0.001503"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:04.411101" elapsed="0.002348"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:04.413789" elapsed="0.000343"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:04.414811" elapsed="0.000943"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:04.414484" elapsed="0.001351"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:04.417305" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:04.416316" elapsed="0.001141">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:04.416021" elapsed="0.001618">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:04.414246" elapsed="0.003516">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:04.400286" elapsed="0.017678">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:04.392489" elapsed="0.025698">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:06.420849" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:06.419978" elapsed="0.000938"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:06.421644" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:06.421114" elapsed="0.000650"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:06.421068" elapsed="0.000748"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:06.436562" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:06.436858" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:06.437208" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:06.427382" elapsed="0.009886"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:06.438092" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:06.437444" elapsed="0.000769"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:06.439483" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:06.438662" elapsed="0.000963"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:06.438265" elapsed="0.001430"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:06.437399" elapsed="0.002342"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:06.440073" elapsed="0.000322"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:06.441103" elapsed="0.000962"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:06.440779" elapsed="0.001370"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:06.443628" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:06.442639" elapsed="0.001141">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:06.442313" elapsed="0.001613">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:06.440508" elapsed="0.003564">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:06.426509" elapsed="0.017772">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:06.419094" elapsed="0.025384">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:08.448045" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:08.447214" elapsed="0.000898"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:08.448818" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:08.448285" elapsed="0.000652"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:08.448239" elapsed="0.000751"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:08.463683" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:08.464094" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:08.464318" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:08.454759" elapsed="0.009623"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:08.465198" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:08.464605" elapsed="0.000711"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:08.466625" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:08.465768" elapsed="0.000963"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:08.465367" elapsed="0.001437"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:08.464556" elapsed="0.002293"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:08.467174" elapsed="0.000322"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:08.468195" elapsed="0.001011"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:08.467880" elapsed="0.001409"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:08.470853" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:08.469814" elapsed="0.001210">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:08.469479" elapsed="0.001697">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:08.467643" elapsed="0.003657">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:08.453881" elapsed="0.017686">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:08.446262" elapsed="0.025509">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:10.474381" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:10.473589" elapsed="0.000857"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:10.475279" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:10.474755" elapsed="0.000644"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:10.474708" elapsed="0.000745"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:10.490314" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:10.490646" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:10.490851" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:10.481117" elapsed="0.009788"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:10.491672" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:10.491092" elapsed="0.000698"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:10.493088" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:10.492233" elapsed="0.000962"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:10.491840" elapsed="0.001426"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:10.491051" elapsed="0.002260"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:10.493645" elapsed="0.000315"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:10.494661" elapsed="0.001447"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:10.494331" elapsed="0.001861"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:10.497694" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:10.496681" elapsed="0.001165">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:10.496357" elapsed="0.001636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:10.494095" elapsed="0.004046">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:10.480232" elapsed="0.018113">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:10.472695" elapsed="0.026017">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:12.501330" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:12.500543" elapsed="0.000853"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:12.502117" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:12.501601" elapsed="0.000633"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:12.501553" elapsed="0.000733"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:12.516862" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:12.517190" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:12.517393" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:12.507962" elapsed="0.009486"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:12.518270" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:12.517647" elapsed="0.000746"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:12.519676" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:12.518850" elapsed="0.000930"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:12.518449" elapsed="0.001401"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:12.517605" elapsed="0.002291"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:12.520223" elapsed="0.000337"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:12.521210" elapsed="0.000927"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:12.520902" elapsed="0.001316"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:12.523701" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:12.522696" elapsed="0.001149">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:12.522380" elapsed="0.001610">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:12.520671" elapsed="0.003463">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:12.507095" elapsed="0.017336">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:12.499648" elapsed="0.025012">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:14.527358" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:14.526554" elapsed="0.000870"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:14.528163" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:14.527639" elapsed="0.000645"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:14.527590" elapsed="0.000746"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:14.543620" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:14.543909" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:14.544159" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:14.534828" elapsed="0.009387"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:14.544991" elapsed="0.000073"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:14.544383" elapsed="0.000746"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:14.546398" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:14.545580" elapsed="0.000919"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:14.545180" elapsed="0.001422"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:14.544340" elapsed="0.002309"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:14.546953" elapsed="0.000340"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:14.547974" elapsed="0.000955"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:14.547674" elapsed="0.001358"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:14.550491" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:14.549502" elapsed="0.001174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:14.549200" elapsed="0.001627">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:14.547406" elapsed="0.003686">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:14.533911" elapsed="0.017395">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:14.525638" elapsed="0.025864">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:16.554437" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:16.553634" elapsed="0.000871"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:16.555264" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:16.554736" elapsed="0.000649"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:16.554688" elapsed="0.000770"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:16.570427" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:16.570791" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:16.571014" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:16.561285" elapsed="0.009786"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:16.571815" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:16.571233" elapsed="0.000701"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:16.573224" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:16.572385" elapsed="0.000946"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:16.571985" elapsed="0.001416"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:16.571192" elapsed="0.002254"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:16.573781" elapsed="0.000338"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:16.574789" elapsed="0.000988"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:16.574466" elapsed="0.001394"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:16.577400" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:16.576333" elapsed="0.001276">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:16.576043" elapsed="0.001833">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:16.574232" elapsed="0.003790">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:16.560387" elapsed="0.017846">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:16.552651" elapsed="0.025779">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:18.581701" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:18.580866" elapsed="0.000913"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:18.582488" elapsed="0.000076"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:18.581967" elapsed="0.000674"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:18.581920" elapsed="0.000775"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:18.597162" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:18.597462" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:18.597713" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:18.588252" elapsed="0.009515"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:18.598507" elapsed="0.000085"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:18.597929" elapsed="0.000729"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:18.599927" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:18.599095" elapsed="0.000965"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:18.598709" elapsed="0.001423"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:18.597888" elapsed="0.002290"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:18.600480" elapsed="0.000349"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:18.601501" elapsed="0.000962"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:18.601205" elapsed="0.001373"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:18.604046" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:18.603054" elapsed="0.001257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:18.602745" elapsed="0.001720">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:18.600944" elapsed="0.003679">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:18.587378" elapsed="0.017481">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:18.579967" elapsed="0.025118">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:20.608356" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:20.607510" elapsed="0.000935"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:20.609168" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:20.608648" elapsed="0.000639"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:20.608602" elapsed="0.000737"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:20.623900" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:20.624227" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:20.624426" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:20.615150" elapsed="0.009331"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:20.625261" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:20.624684" elapsed="0.000694"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:20.626734" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:20.625915" elapsed="0.000924"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:20.625481" elapsed="0.001429"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:20.624638" elapsed="0.002317"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:20.627280" elapsed="0.000489"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:20.628445" elapsed="0.001417"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:20.628155" elapsed="0.001791"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:20.631416" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:20.630429" elapsed="0.001168">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:20.630135" elapsed="0.001611">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:20.627882" elapsed="0.003986">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:20.614267" elapsed="0.017823">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:20.606574" elapsed="0.025710">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:22.635593" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:22.634718" elapsed="0.000943"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:22.636359" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:22.635832" elapsed="0.000647"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:22.635787" elapsed="0.000776"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:22.651417" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:22.651761" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:22.651969" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:22.642552" elapsed="0.009498"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:22.652958" elapsed="0.000077"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:22.652217" elapsed="0.000887"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:22.654377" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:22.653559" elapsed="0.000923"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:22.653156" elapsed="0.001429"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:22.652175" elapsed="0.002457"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:22.654943" elapsed="0.000337"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:22.655957" elapsed="0.000956"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:22.655658" elapsed="0.001356"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:22.658476" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:22.657478" elapsed="0.001181">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:22.657186" elapsed="0.001622">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:22.655391" elapsed="0.003543">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:22.641334" elapsed="0.017827">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:22.633604" elapsed="0.025755">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:24.661932" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:24.661128" elapsed="0.000894"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:24.662766" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:24.662195" elapsed="0.000690"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:24.662150" elapsed="0.000787"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:24.677877" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:24.678286" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:24.678511" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:24.669072" elapsed="0.009528"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:24.679351" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:24.678766" elapsed="0.000706"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:24.680743" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:24.679918" elapsed="0.000932"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:24.679552" elapsed="0.001369"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:24.678726" elapsed="0.002241"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:24.681297" elapsed="0.000345"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:24.682304" elapsed="0.000950"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:24.682007" elapsed="0.001332"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:24.685037" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:24.683902" elapsed="0.001313">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:24.683503" elapsed="0.001945">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:24.681753" elapsed="0.003856">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:24.668177" elapsed="0.017658">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:24.660220" elapsed="0.025870">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:26.688725" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:26.687888" elapsed="0.000906"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:26.689671" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:26.689130" elapsed="0.000662"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:26.689082" elapsed="0.000764"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:26.704730" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:26.705048" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:26.705247" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:26.695552" elapsed="0.009749"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:26.706064" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:26.705458" elapsed="0.000725"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:26.707510" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:26.706641" elapsed="0.001011"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:26.706234" elapsed="0.001488"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:26.705419" elapsed="0.002347"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:26.708095" elapsed="0.000317"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:26.709095" elapsed="0.000941"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:26.708786" elapsed="0.001331"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:26.711619" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:26.710609" elapsed="0.001157">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:26.710281" elapsed="0.001630">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:26.708550" elapsed="0.003509">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:26.694661" elapsed="0.017601">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:26.686973" elapsed="0.025593">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:28.715851" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:28.715035" elapsed="0.000882"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:28.716770" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:28.716150" elapsed="0.000742"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:28.716105" elapsed="0.000855"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:28.732025" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:28.732325" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:28.732574" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:28.723255" elapsed="0.009376"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:28.733359" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:28.732791" elapsed="0.000685"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:28.734776" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:28.733936" elapsed="0.000945"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:28.733556" elapsed="0.001396"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:28.732750" elapsed="0.002271"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:28.735333" elapsed="0.000349"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:28.736346" elapsed="0.000945"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:28.736053" elapsed="0.001319"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:28.738842" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:28.737858" elapsed="0.001154">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:28.737567" elapsed="0.001596">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:28.735793" elapsed="0.003491">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:28.722295" elapsed="0.017321">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:28.714131" elapsed="0.025689">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:30.742931" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:30.742116" elapsed="0.000899"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:30.743709" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:30.743192" elapsed="0.000636"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:30.743148" elapsed="0.000730"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:30.759109" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:30.759426" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:30.759707" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:30.749547" 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-09-26T23:13:30.760634" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:30.759954" elapsed="0.000800"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:30.762067" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:30.761204" elapsed="0.000968"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:30.760805" elapsed="0.001436"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:30.759907" elapsed="0.002378"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:30.762627" elapsed="0.000307"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:30.763616" elapsed="0.003432"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:30.763291" elapsed="0.003843"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:30.768642" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:30.767627" elapsed="0.001184">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:30.767300" elapsed="0.001659">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:30.763062" elapsed="0.006198">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:30.748676" elapsed="0.020794">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:30.741177" elapsed="0.028526">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:32.772407" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:32.771597" elapsed="0.000876"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:32.773209" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:32.772685" elapsed="0.000644"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:32.772639" elapsed="0.000742"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:32.787789" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:32.788112" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:32.788313" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:32.778967" elapsed="0.009400"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:32.789135" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:32.788560" elapsed="0.000692"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:32.790486" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:32.789693" elapsed="0.000933"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:32.789303" elapsed="0.001394"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:32.788487" elapsed="0.002270"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:32.791112" elapsed="0.000320"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:32.792127" elapsed="0.000948"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:32.791813" elapsed="0.001344"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:32.794633" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:32.793639" elapsed="0.001145">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:32.793320" elapsed="0.001739">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:32.791575" elapsed="0.003612">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:32.778118" elapsed="0.017271">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:32.770647" elapsed="0.024968">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:34.798803" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:34.797955" elapsed="0.000916"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:34.799674" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:34.799089" elapsed="0.000714"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:34.799026" elapsed="0.000835"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:34.815473" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:34.815845" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:34.816102" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:34.806581" elapsed="0.009581"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:34.816951" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:34.816333" elapsed="0.000770"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:34.818418" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:34.817575" elapsed="0.000986"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:34.817158" elapsed="0.001480"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:34.816291" elapsed="0.002394"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:34.819032" elapsed="0.000333"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:34.820098" elapsed="0.001007"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:34.819764" elapsed="0.001428"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:34.822798" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:34.821705" elapsed="0.001395">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:34.821365" elapsed="0.001897">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:34.819483" elapsed="0.003910">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:34.805642" elapsed="0.018002">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:34.796944" elapsed="0.026907">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:36.826961" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:36.826080" elapsed="0.000984"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:36.827838" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:36.827280" elapsed="0.000685"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:36.827224" elapsed="0.000824"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:36.846451" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:36.846908" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:36.847185" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:36.834137" elapsed="0.013108"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:36.848143" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:36.847410" elapsed="0.000869"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:36.849895" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:36.848907" elapsed="0.001158"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:36.848359" elapsed="0.001784"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:36.847368" elapsed="0.002822"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:36.850544" elapsed="0.000515"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:36.851855" elapsed="0.001054"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:36.851477" elapsed="0.001539"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:36.854634" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:36.853562" elapsed="0.001233">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:36.853189" elapsed="0.001762">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:36.851208" elapsed="0.003901">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:36.833172" elapsed="0.022148">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:36.824960" elapsed="0.030604">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:38.858858" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:38.858040" elapsed="0.000887"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:38.859648" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:38.859121" elapsed="0.000646"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:38.859077" elapsed="0.000742"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:38.875246" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:38.875595" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:38.875843" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:38.865436" elapsed="0.010466"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:38.876840" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:38.876104" elapsed="0.000858"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:38.878289" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:38.877417" elapsed="0.000977"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:38.877041" elapsed="0.001425"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:38.876059" elapsed="0.002485"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:38.878855" elapsed="0.000340"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:38.879880" elapsed="0.000942"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:38.879574" elapsed="0.001331"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:38.882433" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:38.881389" elapsed="0.001228">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:38.881094" elapsed="0.001671">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:38.879308" elapsed="0.003578">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:38.864586" elapsed="0.018528">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:38.856556" elapsed="0.026760">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:40.885948" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:40.885132" elapsed="0.000908"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:40.886760" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:40.886220" elapsed="0.000661"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:40.886174" elapsed="0.000761"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:40.901823" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:40.902260" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:40.902466" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:40.892663" elapsed="0.009890"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:40.903310" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:40.902724" elapsed="0.000706"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:40.904744" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:40.903883" elapsed="0.000968"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:40.903481" elapsed="0.001442"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:40.902681" elapsed="0.002287"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:40.905302" elapsed="0.000349"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:40.906332" elapsed="0.000950"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:40.906030" elapsed="0.001334"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:40.909342" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:40.907855" elapsed="0.001639">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:40.907559" elapsed="0.002121">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:40.905764" elapsed="0.004041">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:40.891778" elapsed="0.018258">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:40.884220" elapsed="0.026013">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:42.913491" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:42.912634" elapsed="0.000959"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:42.914623" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:42.914059" elapsed="0.000701"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:42.914005" elapsed="0.000833"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:42.930602" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:42.930921" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:42.931151" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:42.920924" elapsed="0.010281"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:42.931968" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:42.931368" elapsed="0.000748"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:42.933372" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:42.932564" elapsed="0.000914"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:42.932167" elapsed="0.001421"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:42.931328" elapsed="0.002315"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:42.933966" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:42.935013" elapsed="0.000930"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:42.934693" elapsed="0.001352"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:42.937578" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:42.936501" elapsed="0.001229">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:42.936211" elapsed="0.001667">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:42.934421" elapsed="0.003600">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:42.919996" elapsed="0.018230">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:42.911486" elapsed="0.027010">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:44.941305" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:44.940414" elapsed="0.000961"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:44.942134" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:44.941583" elapsed="0.000674"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:44.941507" elapsed="0.000805"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:44.957438" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:44.957782" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:44.958029" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:44.948394" elapsed="0.009692"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:44.958829" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:44.958247" elapsed="0.000702"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:44.960229" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:44.959397" elapsed="0.000938"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:44.959024" elapsed="0.001382"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:44.958207" elapsed="0.002244"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:44.960789" elapsed="0.000342"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:44.961805" elapsed="0.000949"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:44.961480" elapsed="0.001358"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:44.964313" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:44.963316" elapsed="0.001146">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:44.963022" elapsed="0.001621">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:44.961243" elapsed="0.003525">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:44.947511" elapsed="0.017640">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:44.939463" elapsed="0.025893">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:46.967901" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:46.967110" elapsed="0.000877"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:46.968680" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:46.968158" elapsed="0.000641"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:46.968113" elapsed="0.000738"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:46.983497" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:46.983893" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:46.984141" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:46.974393" elapsed="0.009807"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:46.985058" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:46.984388" elapsed="0.000789"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:46.986470" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:46.985638" elapsed="0.000971"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:46.985229" elapsed="0.001450"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:46.984340" elapsed="0.002384"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:46.987043" elapsed="0.000311"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:46.988046" elapsed="0.000900"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:46.987725" elapsed="0.001321"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:46.990463" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:46.989492" elapsed="0.001153">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:46.989205" elapsed="0.001588">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:46.987462" elapsed="0.003567">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:46.973561" elapsed="0.017680">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:46.966204" elapsed="0.025229">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:48.994731" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:48.993876" elapsed="0.000923"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:48.995811" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:48.995244" elapsed="0.000689"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:48.994930" elapsed="0.001078"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:49.011282" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:49.011639" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:49.011878" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:49.001607" elapsed="0.010326"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:49.012808" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:49.012132" elapsed="0.000801"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:49.014318" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:49.013446" elapsed="0.000978"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:49.013012" elapsed="0.001482"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:49.012089" elapsed="0.002483"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:49.014896" elapsed="0.000362"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:49.015941" elapsed="0.001098"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:49.015647" elapsed="0.001475"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:49.018614" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:49.017603" elapsed="0.001163">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:49.017284" elapsed="0.001752">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:49.015374" elapsed="0.003791">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:49.000723" elapsed="0.018647">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:48.992359" elapsed="0.027237">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:51.022613" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:51.021567" elapsed="0.001123"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:51.023402" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:51.022875" elapsed="0.000680"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:51.022827" elapsed="0.000784"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:51.038452" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:51.038793" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:51.039018" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:51.029451" elapsed="0.009625"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:51.039823" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:51.039238" elapsed="0.000717"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:51.041241" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:51.040407" elapsed="0.000941"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:51.040032" elapsed="0.001388"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:51.039198" elapsed="0.002266"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:51.041806" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:51.042862" elapsed="0.001463"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:51.042499" elapsed="0.001913"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:51.045921" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:51.044903" elapsed="0.001331">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:51.044611" elapsed="0.001779">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:51.042262" elapsed="0.004250">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:51.028583" elapsed="0.018169">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:51.020573" elapsed="0.026370">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:53.049638" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:53.048809" elapsed="0.000898"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:53.050439" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:53.049882" elapsed="0.000708"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:53.049836" elapsed="0.000816"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:53.065643" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:53.065949" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:53.066174" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:53.056413" elapsed="0.009817"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:53.066993" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:53.066389" elapsed="0.000724"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:53.068359" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:53.067563" elapsed="0.000900"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:53.067164" elapsed="0.001400"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:53.066349" elapsed="0.002263"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:53.068914" elapsed="0.000442"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:53.070054" elapsed="0.000951"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:53.069739" elapsed="0.001348"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:53.072569" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:53.071569" elapsed="0.001156">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:53.071252" elapsed="0.001620">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:53.069470" elapsed="0.003547">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:53.055546" elapsed="0.017676">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:53.047898" elapsed="0.025519">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:55.076031" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:55.075188" elapsed="0.000912"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:55.076807" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:55.076270" elapsed="0.000659"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:55.076227" elapsed="0.000778"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:55.092602" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:55.092914" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:55.093182" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:55.083110" elapsed="0.010130"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:55.094214" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:55.093424" elapsed="0.000914"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:55.095664" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:55.094796" elapsed="0.000974"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:55.094391" elapsed="0.001450"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:55.093377" elapsed="0.002509"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:55.096230" elapsed="0.000352"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:55.097257" elapsed="0.000945"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:55.096934" elapsed="0.001353"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:55.099887" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:55.098791" elapsed="0.001273">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:55.098451" elapsed="0.001764">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:55.096695" elapsed="0.003640">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:55.082218" elapsed="0.018352">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:55.074240" elapsed="0.026531">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:57.103421" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:57.102625" elapsed="0.000862"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:57.104287" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:57.103692" elapsed="0.000713"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:57.103646" elapsed="0.000811"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:57.119981" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:57.120378" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:57.120624" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:57.110101" elapsed="0.010580"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:57.121465" elapsed="0.000083"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:57.120858" elapsed="0.000760"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:57.122912" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:57.122087" elapsed="0.000957"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:57.121671" elapsed="0.001448"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:57.120813" elapsed="0.002351"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:57.123493" elapsed="0.000348"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:57.124512" elapsed="0.000949"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:57.124215" elapsed="0.001358"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:57.127047" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:57.126048" elapsed="0.001149">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:57.125738" elapsed="0.001605">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:57.123954" elapsed="0.003509">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:57.109211" elapsed="0.018499">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:57.101719" elapsed="0.026196">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:13:59.131038" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:13:59.130206" elapsed="0.000899"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:13:59.131923" elapsed="0.000067"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:59.131390" elapsed="0.000675"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:59.131345" elapsed="0.000773"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:13:59.153228" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:13:59.153566" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:13:59.153792" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:13:59.137851" elapsed="0.015995"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:13:59.154618" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:13:59.154033" elapsed="0.000705"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:13:59.155997" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:13:59.155179" elapsed="0.000923"/>
</kw>
<status status="PASS" start="2026-09-26T23:13:59.154788" elapsed="0.001383"/>
</branch>
<status status="PASS" start="2026-09-26T23:13:59.153991" elapsed="0.002223"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:13:59.156543" elapsed="0.000339"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:13:59.157572" elapsed="0.000916"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:13:59.157251" elapsed="0.001356"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:13:59.160057" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:13:59.159076" elapsed="0.001136">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:13:59.158771" elapsed="0.001587">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:13:59.157016" elapsed="0.003462">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:13:59.136983" elapsed="0.023729">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:13:59.129309" elapsed="0.031687">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:01.163600" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:01.162775" elapsed="0.000892"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:14:01.164400" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:01.163836" elapsed="0.000713"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:01.163792" elapsed="0.000812"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:01.180588" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:01.180878" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:01.181098" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:01.170230" elapsed="0.010922"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:01.181898" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:01.181309" elapsed="0.000736"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:01.183309" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:01.182479" elapsed="0.000934"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:01.182097" elapsed="0.001385"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:01.181270" elapsed="0.002288"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:01.183859" elapsed="0.000339"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:01.184873" elapsed="0.001417"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:01.184571" elapsed="0.001800"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:01.187839" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:01.186858" elapsed="0.001153">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:01.186567" elapsed="0.001593">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:01.184309" elapsed="0.003970">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:01.169352" elapsed="0.019257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:01.161874" elapsed="0.026935">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:03.191489" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:03.190690" elapsed="0.000896"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:14:03.192278" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:03.191758" elapsed="0.000637"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:03.191712" elapsed="0.000735"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:03.208456" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:03.208835" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:03.209090" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:03.198109" elapsed="0.011040"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:03.210012" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:03.209328" elapsed="0.000807"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:03.211404" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:03.210584" elapsed="0.000923"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:03.210188" elapsed="0.001422"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:03.209282" elapsed="0.002375"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:03.211983" elapsed="0.000316"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:03.213003" elapsed="0.000920"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:03.212681" elapsed="0.001348"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:03.215471" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:03.214484" elapsed="0.001172">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:03.214195" elapsed="0.001607">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:03.212413" elapsed="0.003646">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:03.197232" elapsed="0.019040">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:03.189769" elapsed="0.026701">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:05.219301" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:05.218381" 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="NOT RUN" start="2026-09-26T23:14:05.220111" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:05.219574" elapsed="0.000657"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:05.219498" elapsed="0.000786"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:05.236147" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:05.236449" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:05.236712" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:05.226981" elapsed="0.009788"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:05.237653" elapsed="0.000076"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:05.236936" elapsed="0.000871"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:05.239210" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:05.238273" elapsed="0.001045"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:05.237863" elapsed="0.001527"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:05.236892" elapsed="0.002542"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:05.239785" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:05.240884" elapsed="0.001231"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:05.240486" elapsed="0.001721"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:05.244633" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:05.242936" elapsed="0.001878">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:05.242430" elapsed="0.002689">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:05.240244" elapsed="0.005051">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:05.226063" elapsed="0.019482">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:05.217414" elapsed="0.028343">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:07.247805" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:07.247278" elapsed="0.000573"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:14:07.248322" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:07.247984" elapsed="0.000413"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:07.247934" elapsed="0.000498"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:07.259857" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:07.260092" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:07.260220" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:07.251914" elapsed="0.008339"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:07.260734" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:07.260353" elapsed="0.000455"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:07.261626" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:07.261121" elapsed="0.000573"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:07.260841" elapsed="0.000897"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:07.260328" elapsed="0.001439"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:07.261971" elapsed="0.000202"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:07.262594" elapsed="0.000591"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:07.262392" elapsed="0.000844"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:07.264155" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:07.263536" elapsed="0.000800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:07.263337" elapsed="0.001102">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:07.262243" elapsed="0.002295">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:07.251385" elapsed="0.013293">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:07.246633" elapsed="0.018171">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:09.267916" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:09.267115" elapsed="0.000892"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:14:09.268709" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:09.268179" elapsed="0.000650"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:09.268134" elapsed="0.000750"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:09.283403" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:09.283740" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:09.283984" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:09.274629" elapsed="0.009412"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:09.284772" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:09.284198" elapsed="0.000690"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:09.286173" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:09.285345" elapsed="0.000932"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:09.284938" elapsed="0.001407"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:09.284159" elapsed="0.002230"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:09.286722" elapsed="0.000438"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:09.287838" elapsed="0.000961"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:09.287512" elapsed="0.001367"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:09.290337" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:09.289352" elapsed="0.001133">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:09.289064" elapsed="0.001599">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:09.287275" elapsed="0.003512">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:09.273622" elapsed="0.017391">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:09.266208" elapsed="0.025003">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:11.294193" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:11.293225" elapsed="0.001038"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:14:11.295029" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:11.294443" elapsed="0.000715"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:11.294397" elapsed="0.000817"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:11.310679" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:11.311019" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:11.311246" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:11.301330" elapsed="0.009990"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:11.312319" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:11.311506" elapsed="0.000941"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:11.313889" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:11.312970" elapsed="0.001054"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:11.312503" elapsed="0.001597"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:11.311459" elapsed="0.002690"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:11.314477" elapsed="0.000375"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:11.315612" elapsed="0.003566"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:11.315247" elapsed="0.004027"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:11.320889" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:11.319814" elapsed="0.001255">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:11.319459" elapsed="0.001769">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:11.314993" elapsed="0.006366">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:11.300395" elapsed="0.021218">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:11.292184" elapsed="0.029640">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:13.324489" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:13.323691" elapsed="0.000895"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:14:13.325277" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:13.324758" elapsed="0.000635"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:13.324712" elapsed="0.000735"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:13.340125" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:13.340549" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:13.340755" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:13.331244" elapsed="0.009566"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:13.341586" elapsed="0.000065"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:13.340995" elapsed="0.000748"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:13.343086" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:13.342246" elapsed="0.000944"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:13.341798" elapsed="0.001463"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:13.340932" elapsed="0.002373"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:13.343642" elapsed="0.000339"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:13.344657" elapsed="0.000945"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:13.344335" elapsed="0.001350"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:13.347159" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:13.346161" elapsed="0.001147">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:13.345848" elapsed="0.001607">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:13.344098" elapsed="0.003515">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:13.330171" elapsed="0.017649">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:13.322778" elapsed="0.025265">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:15.350839" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:15.349992" elapsed="0.000923"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:14:15.351769" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:15.351240" elapsed="0.000647"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:15.351192" elapsed="0.000749"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:15.407748" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:15.408089" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:15.408324" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:15.396725" elapsed="0.011655"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:15.409219" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:15.408596" elapsed="0.000745"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:15.410646" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:15.409789" elapsed="0.000964"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:15.409394" elapsed="0.001432"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:15.408546" elapsed="0.002325"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:15.411199" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:15.412225" elapsed="0.000953"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:15.411907" elapsed="0.001353"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:15.414756" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:15.413745" elapsed="0.001196">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:15.413424" elapsed="0.001702">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:15.411666" elapsed="0.003587">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:15.395582" elapsed="0.019882">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:15.349043" elapsed="0.066792">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:17.418691" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:17.417798" elapsed="0.000965"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:14:17.419467" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:17.418962" elapsed="0.000658"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:17.418894" elapsed="0.000782"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:17.434396" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:17.434762" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:17.434990" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:17.425345" elapsed="0.009705"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:17.435858" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:17.435264" elapsed="0.000741"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:17.437298" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:17.436440" elapsed="0.000965"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:17.436056" elapsed="0.001421"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:17.435219" elapsed="0.002333"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:17.437857" elapsed="0.000354"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:17.438910" elapsed="0.001361"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:17.438615" elapsed="0.001756"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:17.441915" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:17.440868" elapsed="0.001223">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:17.440574" elapsed="0.001670">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:17.438337" elapsed="0.004049">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:17.424477" elapsed="0.018271">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:17.416812" elapsed="0.026157">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:19.446113" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:19.445035" 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-09-26T23:14:19.447117" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:19.446382" elapsed="0.000901"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:19.446329" elapsed="0.001025"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:19.464709" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:19.465114" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:19.465378" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:19.455038" elapsed="0.010415"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:19.466466" elapsed="0.000102"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:19.465709" elapsed="0.000946"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:19.468356" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:19.467281" elapsed="0.001216"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:19.466725" elapsed="0.001903"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:19.465653" elapsed="0.003037"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:19.469149" elapsed="0.000447"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:19.470485" elapsed="0.001256"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:19.470074" elapsed="0.001776"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:19.473663" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:19.472615" elapsed="0.001190">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:19.472121" elapsed="0.001816">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:19.469744" elapsed="0.004418">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:19.453887" elapsed="0.020466">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:19.444043" elapsed="0.030510">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:21.477261" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:21.476404" elapsed="0.000924"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:14:21.478078" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:21.477497" elapsed="0.000706"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:21.477453" elapsed="0.000803"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:21.493566" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:21.493888" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:21.494150" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:21.484556" elapsed="0.009650"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:21.495053" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:21.494384" elapsed="0.000790"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:21.496469" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:21.495622" elapsed="0.000988"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:21.495225" elapsed="0.001463"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:21.494339" elapsed="0.002410"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:21.497089" elapsed="0.000317"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:21.498146" elapsed="0.000978"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:21.497816" elapsed="0.001393"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:21.500748" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:21.499695" elapsed="0.001222">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:21.499375" elapsed="0.001823">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:21.497550" elapsed="0.003778">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:21.483622" elapsed="0.017950">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:21.475438" elapsed="0.026339">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:23.504553" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:23.503717" elapsed="0.000906"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:14:23.505323" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:23.504798" elapsed="0.000645"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:23.504752" elapsed="0.000745"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:23.519933" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:23.520258" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:23.520460" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:23.511289" elapsed="0.009224"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:23.521290" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:23.520710" elapsed="0.000698"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:23.522679" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:23.521855" elapsed="0.000932"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:23.521460" elapsed="0.001397"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:23.520669" elapsed="0.002231"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:23.523238" elapsed="0.000348"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:23.524252" elapsed="0.000950"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:23.523958" elapsed="0.001328"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:23.526762" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:23.525772" elapsed="0.001278">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:23.525452" elapsed="0.001754">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:23.523699" elapsed="0.003627">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:23.510359" elapsed="0.017203">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:23.502758" elapsed="0.025002">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:25.531096" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:25.530246" elapsed="0.000918"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:14:25.531868" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:25.531337" elapsed="0.000670"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:25.531292" elapsed="0.000771"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:25.546215" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:25.546505" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:25.546797" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:25.537672" elapsed="0.009182"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:25.547636" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:25.547042" elapsed="0.000714"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:25.549032" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:25.548196" elapsed="0.000952"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:25.547809" elapsed="0.001422"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:25.547000" elapsed="0.002283"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:25.549721" elapsed="0.000485"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:25.550916" elapsed="0.001016"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:25.550621" elapsed="0.001415"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:25.553559" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:25.552563" elapsed="0.001150">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:25.552226" elapsed="0.001636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:25.550342" elapsed="0.003663">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:25.536795" elapsed="0.017414">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:25.529306" elapsed="0.025097">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:27.557233" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:27.556328" 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="NOT RUN" start="2026-09-26T23:14:27.558093" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:27.557500" elapsed="0.000737"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:27.557451" elapsed="0.000840"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:27.573286" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:27.573652" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:27.573867" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:27.564382" elapsed="0.009543"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:27.574921" elapsed="0.000087"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:27.574143" elapsed="0.000949"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:27.576440" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:27.575554" elapsed="0.001033"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:27.575147" elapsed="0.001518"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:27.574098" elapsed="0.002618"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:27.577078" elapsed="0.000354"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:27.578212" elapsed="0.001549"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:27.577857" elapsed="0.001999"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:27.581503" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:27.580407" elapsed="0.001291">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:27.580078" elapsed="0.001778">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:27.577588" elapsed="0.004447">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:27.563425" elapsed="0.018837">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:27.555351" elapsed="0.027140">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:29.585307" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:29.584405" 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-09-26T23:14:29.586171" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:29.585596" elapsed="0.000700"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:29.585545" elapsed="0.000806"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:29.601138" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:29.601609" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:29.601822" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:29.592234" elapsed="0.009646"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:29.602802" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:29.602153" elapsed="0.000778"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:29.604291" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:29.603413" elapsed="0.001011"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:29.603012" elapsed="0.001487"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:29.602102" elapsed="0.002481"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:29.604903" elapsed="0.000360"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:29.606013" elapsed="0.001004"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:29.605692" elapsed="0.001413"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:29.608696" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:29.607635" elapsed="0.001222">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:29.607276" elapsed="0.001764">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:29.605402" elapsed="0.003768">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:29.591299" elapsed="0.018085">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:29.583427" elapsed="0.026221">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:31.612401" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:31.611582" elapsed="0.000886"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:14:31.613327" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:31.612800" elapsed="0.000648"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:31.612752" elapsed="0.000751"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:31.628673" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:31.628997" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:31.629219" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:31.619691" elapsed="0.009585"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:31.630048" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:31.629436" elapsed="0.000730"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:31.631399" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:31.630605" elapsed="0.000898"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:31.630217" elapsed="0.001399"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:31.629396" elapsed="0.002285"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:31.632030" elapsed="0.000336"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:31.633116" elapsed="0.000959"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:31.632781" elapsed="0.001375"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:31.635651" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:31.634640" elapsed="0.001169">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:31.634321" elapsed="0.001664">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:31.632482" elapsed="0.003633">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:31.618797" elapsed="0.017524">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:31.610644" elapsed="0.026122">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:33.638665" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:33.638120" elapsed="0.000593"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="NOT RUN" start="2026-09-26T23:14:33.639183" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:33.638835" elapsed="0.000427"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:33.638802" elapsed="0.000494"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:33.651374" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:33.651601" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:33.651732" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:33.642811" elapsed="0.008955"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:33.652247" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:33.651871" elapsed="0.000453"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:33.653574" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:33.652727" elapsed="0.000959"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:33.652357" elapsed="0.001402"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:33.651844" elapsed="0.001961"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:33.654143" elapsed="0.000325"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:33.655168" elapsed="0.000964"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:33.654854" elapsed="0.001364"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:33.657736" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:33.656715" elapsed="0.001174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:33.656389" elapsed="0.001674">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:33.654613" elapsed="0.003587">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:33.642260" elapsed="0.016342">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:33.637467" elapsed="0.021368">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:35.662410" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:35.661455" 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="NOT RUN" start="2026-09-26T23:14:35.663268" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:35.662699" elapsed="0.000700"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:35.662649" elapsed="0.000806"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:35.678794" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:35.679121" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:35.679355" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:35.669563" elapsed="0.009858"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:35.680264" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:35.679651" elapsed="0.000738"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:35.681772" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:35.680869" elapsed="0.001016"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:35.680445" elapsed="0.001546"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:35.679604" elapsed="0.002440"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:35.682359" elapsed="0.000390"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:35.683458" elapsed="0.001002"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:14:35.683152" elapsed="0.001429"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:35.686176" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:35.685115" elapsed="0.001221">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-26T23:14:35.684783" elapsed="0.001705">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:35.682870" elapsed="0.003916">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:35.668633" elapsed="0.018414">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:35.660485" elapsed="0.026775">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<msg time="2026-09-26T23:14:35.687453" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>CONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-09-26T23:13:04.391165" elapsed="91.296553">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-26T23:14:35.688210" elapsed="0.000051"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:14:35.690187" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-26T23:14:36.009648" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:14:36.010106" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:14:36.010202" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:14:36.010292" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:14:35.689772" elapsed="0.320570"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:36.011738" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:36.011024" elapsed="0.000831"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:14:36.012688" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-26T23:14:36.365710" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:14:36.366145" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:14:36.366242" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:14:36.366332" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:14:36.012285" elapsed="0.354097"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:14:36.367433" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-26T23:14:36.438880" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:14:36.439302" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-26T23:14:36.439395" level="INFO">${stderr} = </msg>
<msg time="2026-09-26T23:14:36.439479" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:14:36.366976" elapsed="0.072597"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:14:36.440420" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-26T23:14:36.494662" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:14:36.440146" elapsed="0.054757"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:36.510243" level="INFO">DELETE Request : url=http://10.30.171.168: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=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:36.510472" level="INFO">DELETE Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:36.510722" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:36.495374" elapsed="0.015404"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:36.518830" level="INFO">DELETE Request : url=http://10.30.171.168: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=node010rh3bfe8eqipqf3n1pie7sjf2.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:36.519159" level="INFO">DELETE Response : url=http://10.30.171.168:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-26T23:14:36.519374" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:36.511130" elapsed="0.008298"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-26T23:14:35.688969" elapsed="0.830667"/>
</kw>
<doc>CallHome SSH device registered with global credentials should result to successful mount.</doc>
<status status="FAIL" start="2026-09-26T23:13:03.737887" elapsed="92.781853">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXOJKEW/FPsi2LNvH/vKcWVkeS6qKIX0EUmOF89Fijb+J1DWr8VfBiyyk+KL7n+tsdEmUm8wKqzgdrf5e9O7zu96kcJ+A2qpfNRv/GyTlp/qsC1AuC5fWZVM/ALW7hsH3c9xhk1WZKzq8DbTnce+6OklkeCfBOADGlpxy9viuftYsRGhDRJgMltZ1toH1249r9kcKXSP5OHTy1Whea3+Ugpm2Ffw2zA4vAkwszjzdEp/VBO3+oXtrbKSj8GGpDSlYxiHIUBLEBkMbK6H/XwHcJVg7nf9VaYD5l6/R+GP/ngkK9fPupwHsLF5EMdWZW6H+j4N5bQn2su6zx0HEuAQ5"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</test>
<test id="s1-s1-t4" name="CallHome over SSH with incorrect global credentials" line="71">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:36.523962" level="INFO">Creating Session using : alias=session, url=http://10.30.171.168:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7e2a783a8750&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-26T23:14:36.522888" elapsed="0.001387"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:14:36.524922" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-26T23:14:36.548272" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:14:36.524705" elapsed="0.023718"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:14:36.549131" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-26T23:14:36.810726" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:14:36.548887" elapsed="0.262107"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:14:36.811887" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-26T23:14:36.863045" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:14:36.863384" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:14:36.811593" elapsed="0.051867"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-26T23:14:36.867683" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes the variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-26T23:14:36.864033" elapsed="0.003754"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-26T23:14:36.522018" elapsed="0.345907"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:14:36.912800" 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-09-26T23:14:36.869149" elapsed="0.043891"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:14:36.923831" 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-09-26T23:14:36.913588" elapsed="0.010395"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-26T23:14:36.868338" elapsed="0.055800"/>
</kw>
<kw name="Register global credentials for SSH call-home devices" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-26T23:14:36.925830" 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-09-26T23:14:36.926147" level="INFO">${template} = {
  "credentials": {
    "username": "{username}",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${template}</var>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-26T23:14:36.925502" elapsed="0.000712"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:14:36.927084" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:14:36.926609" elapsed="0.000533"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:14:36.927978" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "incorrect" ]
  }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:14:36.927497" elapsed="0.000539"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:36.944976" level="INFO">PUT Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '84', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "credentials": {
    "username": "root",
    "passwords": [ "incorrect" ]
  }
}
 
 </msg>
<msg time="2026-09-26T23:14:36.945089" level="INFO">PUT Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 status=204, reason=No Content 
 headers={'Set-Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 25-Sep-2026 23:14:36 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT'} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:36.945302" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${global_config_url}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:36.928364" elapsed="0.016991"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:36.945776" elapsed="0.000966"/>
</kw>
<arg>root</arg>
<arg>incorrect</arg>
<doc>Set global credentials for SSH call-home devices</doc>
<status status="PASS" start="2026-09-26T23:14:36.924594" elapsed="0.022307"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-26T23:14:36.949866" 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-09-26T23:14:36.950186" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-26T23:14:36.949595" elapsed="0.000646"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-26T23:14:36.951360" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<arg>${template}</arg>
<doc>Makes the variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-26T23:14:36.950633" elapsed="0.000821"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:36.948961" elapsed="0.002642"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:36.948304" elapsed="0.003349"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-26T23:14:36.952047" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:36.951709" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:36.948253" elapsed="0.003958"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:14:36.953010" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:14:36.952552" elapsed="0.000528"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:14:36.953873" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:14:36.953427" elapsed="0.000527"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:14:36.954756" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:14:36.954313" elapsed="0.000502"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:14:36.955643" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2s...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:14:36.955194" elapsed="0.000507"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:36.969024" level="INFO">POST Request : url=http://10.30.171.168: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=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"
        }
    }
}
 
 </msg>
<msg time="2026-09-26T23:14:36.969210" level="INFO">POST Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:36.969395" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:36.956024" elapsed="0.013424"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:14:36.969869" elapsed="0.000859"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-26T23:14:36.947454" elapsed="0.023407"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:14:36.971675" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-26T23:14:37.279043" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:14:37.279432" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:14:37.279548" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:14:37.279638" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:14:36.971267" elapsed="0.308420"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:37.284398" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:37.283488" 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-09-26T23:14:37.285185" elapsed="0.000451"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:37.284657" elapsed="0.001084"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:37.284606" elapsed="0.001196"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:37.300217" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:37.300613" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:37.300976" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:37.291511" elapsed="0.009529"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:37.301789" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:37.301201" elapsed="0.000705"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:37.303198" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:37.302337" elapsed="0.000968"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:37.301978" elapsed="0.001418"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:37.301160" elapsed="0.002332"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:37.303872" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:37.306042" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:37.304906" elapsed="0.001362">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:14:37.304611" elapsed="0.002046">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:37.304332" elapsed="0.002584">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:37.290663" elapsed="0.016564">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:37.282700" elapsed="0.024732">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:39.310297" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:39.309404" 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-09-26T23:14:39.311165" elapsed="0.000420"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:39.310594" elapsed="0.001094"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:39.310506" elapsed="0.001244"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:39.326583" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:39.326897" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:39.327134" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:39.317603" elapsed="0.009596"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:39.327997" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:39.327376" elapsed="0.000744"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:39.329436" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:39.328598" elapsed="0.000980"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:39.328174" elapsed="0.001478"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:39.327333" elapsed="0.002364"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:39.330027" elapsed="0.000348"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:39.332678" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:39.331093" elapsed="0.001880">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:14:39.330773" elapsed="0.002360">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:39.330493" elapsed="0.002767">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:39.316656" elapsed="0.016830">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:39.308395" elapsed="0.025338">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:41.336618" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:41.335722" 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-09-26T23:14:41.337426" elapsed="0.000423"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:41.336871" elapsed="0.001082"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:41.336824" elapsed="0.001189"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:41.353168" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:41.353486" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:41.353736" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:41.344140" elapsed="0.009655"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:41.354649" elapsed="0.000065"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:41.354002" elapsed="0.000791"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:41.356169" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:41.355280" elapsed="0.001001"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:41.354856" elapsed="0.001500"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:41.353955" elapsed="0.002449"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:41.356877" elapsed="0.000358"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:41.359062" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:41.357982" elapsed="0.001238">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:14:41.357641" elapsed="0.001736">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:41.357358" elapsed="0.002153">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:41.343197" elapsed="0.016566">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:41.334755" elapsed="0.025244">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:43.362800" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:43.361943" elapsed="0.000935"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:14:43.363631" elapsed="0.000392"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:43.363097" elapsed="0.001006"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:43.363052" elapsed="0.001105"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:43.378921" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:43.379237" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:43.379456" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:43.370174" elapsed="0.009337"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:43.380277" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:43.379707" elapsed="0.000688"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:43.381777" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:43.380972" elapsed="0.000912"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:43.380577" elapsed="0.001405"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:43.379667" elapsed="0.002361"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:43.382337" elapsed="0.000348"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:43.384367" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:43.383352" elapsed="0.001198">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:14:43.383058" elapsed="0.001644">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:43.382797" elapsed="0.002028">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:43.369284" elapsed="0.015767">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:43.360974" elapsed="0.024276">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:45.388063" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:45.387182" elapsed="0.000954"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:14:45.388859" elapsed="0.000427"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:45.388315" elapsed="0.001054"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:45.388269" elapsed="0.001152"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:45.403747" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:45.404077" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:45.404390" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:45.395246" elapsed="0.009216"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:45.405272" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:45.404677" elapsed="0.000718"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:45.406746" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:45.405868" elapsed="0.000989"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:45.405448" elapsed="0.001506"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:45.404634" elapsed="0.002369"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:45.407316" elapsed="0.000379"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:45.409479" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:45.408387" elapsed="0.001297">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:14:45.408087" elapsed="0.001761">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:45.407815" elapsed="0.002190">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:45.394325" elapsed="0.015893">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:45.386223" elapsed="0.024195">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:47.413699" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:47.412283" elapsed="0.001483"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:14:47.414544" elapsed="0.000410"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:47.413975" elapsed="0.001200"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:47.413896" elapsed="0.001335"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:47.429828" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:47.430277" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:47.430509" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:47.421079" elapsed="0.009524"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:47.431380" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:47.430769" elapsed="0.000737"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:47.432842" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:47.432012" elapsed="0.000977"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:47.431594" elapsed="0.001486"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:47.430728" elapsed="0.002399"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:47.433440" elapsed="0.000359"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:47.435619" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:47.434509" elapsed="0.001265">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:14:47.434209" elapsed="0.001744">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:47.433915" elapsed="0.002176">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:47.420159" elapsed="0.016165">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:47.411319" elapsed="0.025242">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:49.439333" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:49.438457" elapsed="0.000945"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:14:49.440173" elapsed="0.000544"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:49.439614" elapsed="0.001187"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:49.439567" elapsed="0.001290"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:49.457690" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:49.458029" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:49.458234" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:49.446696" elapsed="0.011596"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:49.459115" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:49.458456" elapsed="0.000785"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:49.460576" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:49.459693" elapsed="0.000996"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:49.459293" elapsed="0.001472"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:49.458416" elapsed="0.002402"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:49.461181" elapsed="0.000329"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:49.463349" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:49.462267" elapsed="0.001238">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:14:49.461952" elapsed="0.001741">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:49.461662" elapsed="0.002159">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:49.445768" elapsed="0.018317">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:49.437474" elapsed="0.026822">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:51.469783" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:51.468959" elapsed="0.000892"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:14:51.470582" elapsed="0.000398"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:51.470049" elapsed="0.001012"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:51.470001" elapsed="0.001114"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:51.488499" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:51.488961" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:51.489254" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:51.477693" elapsed="0.011640"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:51.490169" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:51.489568" elapsed="0.000740"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:51.491727" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:51.490845" elapsed="0.000992"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:51.490386" elapsed="0.001528"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:51.489486" elapsed="0.002507"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:51.492339" elapsed="0.000371"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:51.494478" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:51.493407" elapsed="0.001264">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:14:51.493103" elapsed="0.001760">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:51.492829" elapsed="0.002195">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:51.476362" elapsed="0.018966">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:51.467855" elapsed="0.027841">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:53.498313" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:53.497477" elapsed="0.000903"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:14:53.499105" elapsed="0.000363"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:53.498584" elapsed="0.000993"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:53.498509" elapsed="0.001123"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:53.513502" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:53.513831" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:53.514056" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:53.505245" elapsed="0.008867"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:53.514860" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:53.514278" elapsed="0.000724"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:53.516271" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:53.515422" elapsed="0.000953"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:53.515053" elapsed="0.001394"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:53.514236" elapsed="0.002256"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:53.516830" elapsed="0.000338"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:53.519321" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:53.517842" elapsed="0.001630">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:14:53.517547" elapsed="0.002110">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:53.517280" elapsed="0.002503">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:53.504362" elapsed="0.015761">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:53.496599" elapsed="0.023729">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:55.524325" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:55.523005" elapsed="0.001423"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:14:55.525595" elapsed="0.000614"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:55.524745" elapsed="0.001592"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:55.524672" elapsed="0.001760"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:55.544983" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:55.545270" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:55.545467" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:55.535641" elapsed="0.009909"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:55.546314" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:55.545722" elapsed="0.000715"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:55.547706" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:55.546889" elapsed="0.000924"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:55.546493" elapsed="0.001393"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:55.545677" elapsed="0.002280"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:55.548275" elapsed="0.000349"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:55.550316" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:55.549297" elapsed="0.001173">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:14:55.548996" elapsed="0.001654">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:55.548740" elapsed="0.002147">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:55.534200" elapsed="0.016932">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:55.521574" elapsed="0.029771">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:57.554014" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:57.553185" elapsed="0.000896"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:14:57.554782" elapsed="0.000387"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:57.554254" elapsed="0.000995"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:57.554208" elapsed="0.001094"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:57.570185" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:57.570481" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:57.570734" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:57.561360" elapsed="0.009429"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:57.571557" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:57.570976" elapsed="0.000701"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:57.572907" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:57.572111" elapsed="0.000930"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:57.571728" elapsed="0.001383"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:57.570910" elapsed="0.002245"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:57.573463" elapsed="0.000345"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:57.575482" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:57.574469" elapsed="0.001199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:14:57.574176" elapsed="0.001777">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:57.573940" elapsed="0.002146">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:57.560468" elapsed="0.015822">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:57.552255" elapsed="0.024232">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:14:59.579216" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:14:59.578350" elapsed="0.000936"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:14:59.580013" elapsed="0.000365"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:59.579459" elapsed="0.001000"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:59.579414" elapsed="0.001099"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:14:59.595470" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:14:59.595809" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:14:59.596033" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:14:59.586278" elapsed="0.009809"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:14:59.596828" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:14:59.596248" elapsed="0.000718"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:14:59.598210" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:14:59.597383" elapsed="0.000931"/>
</kw>
<status status="PASS" start="2026-09-26T23:14:59.597019" elapsed="0.001364"/>
</branch>
<status status="PASS" start="2026-09-26T23:14:59.596207" elapsed="0.002220"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:14:59.598766" elapsed="0.000338"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:14:59.600798" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:14:59.599778" elapsed="0.001298">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:14:59.599456" elapsed="0.001772">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:14:59.599218" elapsed="0.002135">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:14:59.585347" elapsed="0.016239">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:14:59.577425" elapsed="0.024360">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:01.605198" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:01.603696" elapsed="0.001575"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:01.606082" elapsed="0.000419"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:01.605483" elapsed="0.001135"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:01.605432" elapsed="0.001248"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:01.621026" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:01.621326" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:01.621595" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:01.612567" elapsed="0.009090"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:01.622445" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:01.621828" elapsed="0.000778"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:01.623955" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:01.623087" elapsed="0.001004"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:01.622663" elapsed="0.001507"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:01.621785" elapsed="0.002433"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:01.624655" elapsed="0.000373"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:01.626878" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:01.625762" elapsed="0.001304">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:01.625424" elapsed="0.001827">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:01.625163" elapsed="0.002223">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:01.611637" elapsed="0.016004">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:01.602715" elapsed="0.025138">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:03.630673" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:03.629830" elapsed="0.000912"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:03.631439" elapsed="0.000398"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:03.630934" elapsed="0.001006"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:03.630870" elapsed="0.001125"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:03.646294" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:03.646629" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:03.646834" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:03.637590" elapsed="0.009299"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:03.647663" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:03.647078" elapsed="0.000704"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:03.649177" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:03.648336" elapsed="0.000947"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:03.647960" elapsed="0.001394"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:03.647039" elapsed="0.002360"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:03.649743" elapsed="0.000339"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:03.651842" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:03.650813" elapsed="0.001200">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:03.650437" elapsed="0.001727">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:03.650195" elapsed="0.002093">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:03.636707" elapsed="0.015784">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:03.628857" elapsed="0.023867">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:05.656187" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:05.655332" elapsed="0.000927"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:05.657005" elapsed="0.000375"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:05.656437" elapsed="0.001023"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:05.656391" elapsed="0.001155"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:05.671696" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:05.672028" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:05.672353" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:05.663210" elapsed="0.009201"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:05.673190" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:05.672610" elapsed="0.000700"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:05.674585" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:05.673758" elapsed="0.000936"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:05.673363" elapsed="0.001401"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:05.672567" elapsed="0.002242"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:05.675139" elapsed="0.000318"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:05.677262" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:05.676230" elapsed="0.001181">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:05.675848" elapsed="0.001745">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:05.675605" elapsed="0.002117">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:05.662329" elapsed="0.015617">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:05.654359" elapsed="0.023785">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:07.681413" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:07.680266" elapsed="0.001237"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:07.682482" elapsed="0.000551"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:07.681783" elapsed="0.001353"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:07.681722" elapsed="0.001485"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:07.698462" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:07.698930" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:07.699138" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:07.689500" elapsed="0.009694"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:07.699974" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:07.699358" elapsed="0.000738"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:07.701340" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:07.700541" elapsed="0.000905"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:07.700149" elapsed="0.001399"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:07.699318" elapsed="0.002278"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:07.701928" elapsed="0.000319"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:07.704425" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:07.702948" elapsed="0.001663">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:07.702630" elapsed="0.002138">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:07.702362" elapsed="0.002532">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:07.688617" elapsed="0.016508">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:07.679170" elapsed="0.026151">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:09.708262" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:09.707424" elapsed="0.000908"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:09.709067" elapsed="0.000532"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:09.708508" elapsed="0.001174"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:09.708462" elapsed="0.001275"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:09.724309" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:09.724649" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:09.724857" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:09.715387" elapsed="0.009545"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:09.725699" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:09.725102" elapsed="0.000718"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:09.727138" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:09.726261" elapsed="0.000984"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:09.725872" elapsed="0.001446"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:09.725062" elapsed="0.002302"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:09.727708" elapsed="0.000348"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:09.729770" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:09.728746" elapsed="0.001196">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:09.728413" elapsed="0.001682">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:09.728173" elapsed="0.002049">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:09.714500" elapsed="0.015926">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:09.706455" elapsed="0.024201">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:11.733431" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:11.732629" elapsed="0.000872"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:11.734246" elapsed="0.000397"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:11.733721" elapsed="0.001002"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:11.733675" elapsed="0.001102"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:11.749709" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:11.750032" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:11.750254" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:11.740829" elapsed="0.009482"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:11.751076" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:11.750473" elapsed="0.000723"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:11.752438" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:11.751640" elapsed="0.000936"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:11.751247" elapsed="0.001404"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:11.750433" elapsed="0.002264"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:11.753024" elapsed="0.000317"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:11.755058" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:11.754038" elapsed="0.001171">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:11.753721" elapsed="0.001636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:11.753452" elapsed="0.002031">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:11.739957" elapsed="0.015760">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:11.731671" elapsed="0.024371">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:13.758840" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:13.758021" elapsed="0.000916"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:13.759640" elapsed="0.000390"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:13.759113" elapsed="0.000997"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:13.759069" elapsed="0.001095"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:13.774206" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:13.774491" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:13.774733" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:13.765779" elapsed="0.009008"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:13.775547" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:13.774972" elapsed="0.000698"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:13.776925" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:13.776107" elapsed="0.000927"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:13.775720" elapsed="0.001385"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:13.774930" elapsed="0.002220"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:13.777452" elapsed="0.000343"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:13.779463" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:13.778452" elapsed="0.001193">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:13.778162" elapsed="0.001632">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:13.777926" elapsed="0.002017">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:13.764890" elapsed="0.015367">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:13.757044" elapsed="0.023415">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:15.783943" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:15.782447" elapsed="0.001574"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:15.784779" elapsed="0.000417"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:15.784204" elapsed="0.001078"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:15.784156" elapsed="0.001181"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:15.799979" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:15.800299" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:15.800560" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:15.791242" elapsed="0.009383"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:15.801410" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:15.800794" elapsed="0.000777"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:15.802878" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:15.802026" elapsed="0.000991"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:15.801626" elapsed="0.001465"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:15.800752" elapsed="0.002388"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:15.803476" elapsed="0.000370"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:15.805653" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:15.804583" elapsed="0.001230">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:15.804234" elapsed="0.001759">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:15.803989" elapsed="0.002240">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:15.790302" elapsed="0.016166">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:15.781426" elapsed="0.025287">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:17.809504" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:17.808688" elapsed="0.000918"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:17.810348" elapsed="0.000397"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:17.809783" elapsed="0.001042"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:17.809737" elapsed="0.001142"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:17.825234" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:17.825557" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:17.825758" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:17.816456" elapsed="0.009366"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:17.826673" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:17.826073" elapsed="0.000719"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:17.828056" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:17.827231" elapsed="0.000932"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:17.826844" elapsed="0.001390"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:17.826017" elapsed="0.002262"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:17.828617" elapsed="0.000338"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:17.830646" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:17.829627" elapsed="0.001168">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:17.829304" elapsed="0.001755">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:17.829070" elapsed="0.002121">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:17.815610" elapsed="0.015817">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:17.807703" elapsed="0.023959">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:19.835351" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:19.834460" elapsed="0.000965"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:19.836349" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:19.835650" elapsed="0.001289"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:19.835598" elapsed="0.001422"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:19.851942" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:19.852263" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:19.852490" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:19.843037" elapsed="0.009541"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:19.853355" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:19.852774" elapsed="0.000703"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:19.854771" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:19.853957" elapsed="0.000920"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:19.853562" elapsed="0.001408"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:19.852729" elapsed="0.002287"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:19.855327" elapsed="0.000356"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:19.857467" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:19.856375" elapsed="0.001398">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:19.856075" elapsed="0.001882">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:19.855800" elapsed="0.002291">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:19.842130" elapsed="0.016172">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:19.833475" elapsed="0.025022">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:21.861484" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:21.860622" 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-09-26T23:15:21.862322" elapsed="0.000410"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:21.861782" elapsed="0.001033"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:21.861730" elapsed="0.001142"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:21.877668" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:21.878016" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:21.878226" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:21.868778" elapsed="0.009503"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:21.879069" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:21.878444" elapsed="0.000751"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:21.880490" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:21.879645" elapsed="0.000987"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:21.879246" elapsed="0.001458"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:21.878403" elapsed="0.002346"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:21.881188" elapsed="0.000360"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:21.883818" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:21.882254" elapsed="0.001747">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:21.881954" elapsed="0.002203">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:21.881674" elapsed="0.002608">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:21.867874" elapsed="0.016612">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:21.859603" elapsed="0.025109">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:23.888647" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:23.887386" elapsed="0.001361"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:23.889800" elapsed="0.000606"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:23.889029" elapsed="0.001547"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:23.888958" elapsed="0.001725"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:23.906682" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:23.907039" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:23.907247" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:23.898000" elapsed="0.009300"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:23.908137" elapsed="0.000067"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:23.907464" elapsed="0.000824"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:23.909758" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:23.908928" elapsed="0.000939"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:23.908470" elapsed="0.001503"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:23.907423" elapsed="0.002611"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:23.910423" elapsed="0.000370"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:23.912612" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:23.911509" elapsed="0.001265">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:23.911211" elapsed="0.001748">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:23.910949" elapsed="0.002177">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:23.897009" elapsed="0.016392">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:23.885867" elapsed="0.027800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:25.916447" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:25.915621" elapsed="0.000924"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:25.917350" elapsed="0.000458"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:25.916722" elapsed="0.001168"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:25.916677" elapsed="0.001310"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:25.933637" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:25.933997" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:25.934333" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:25.924737" elapsed="0.009652"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:25.935173" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:25.934583" elapsed="0.000713"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:25.936760" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:25.935802" elapsed="0.001065"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:25.935349" elapsed="0.001623"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:25.934510" elapsed="0.002522"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:25.937437" elapsed="0.000369"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:25.939601" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:25.938504" elapsed="0.001258">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:25.938205" elapsed="0.001729">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:25.937954" elapsed="0.002107">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:25.923737" elapsed="0.016527">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:25.914635" elapsed="0.025825">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:27.943563" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:27.942616" elapsed="0.001020"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:27.944468" elapsed="0.000418"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:27.943817" elapsed="0.001195"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:27.943769" elapsed="0.001314"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:27.960399" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:27.960941" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:27.961196" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:27.951458" elapsed="0.009808"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:27.962097" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:27.961461" elapsed="0.000758"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:27.963639" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:27.962667" elapsed="0.001083"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:27.962268" elapsed="0.001555"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:27.961419" elapsed="0.002449"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:27.964306" elapsed="0.000446"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:27.966735" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:27.965592" elapsed="0.001324">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:27.965244" elapsed="0.001866">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:27.964927" elapsed="0.002346">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:27.950487" elapsed="0.017004">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:27.941500" elapsed="0.026221">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:29.971409" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:29.969777" elapsed="0.001721"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:29.972376" elapsed="0.000630"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:29.971735" elapsed="0.001358"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:29.971686" elapsed="0.001466"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:29.988127" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:29.988444" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:29.988701" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:29.979079" elapsed="0.009677"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:29.989503" elapsed="0.000086"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:29.988949" elapsed="0.000708"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:29.990947" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:29.990110" elapsed="0.000973"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:29.989708" elapsed="0.001468"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:29.988876" elapsed="0.002360"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:29.991675" elapsed="0.000366"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:29.994022" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:29.992795" elapsed="0.001388">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:29.992405" elapsed="0.001929">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:29.992160" elapsed="0.002299">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:29.978172" elapsed="0.016526">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:29.968791" elapsed="0.026122">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:31.998073" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:31.997123" elapsed="0.001022"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:31.998862" elapsed="0.000491"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:31.998324" elapsed="0.001131"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:31.998276" elapsed="0.001279"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:32.014828" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:32.015231" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:32.015458" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:32.005493" elapsed="0.010051"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:32.016385" elapsed="0.000065"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:32.015710" elapsed="0.000854"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:32.017866" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:32.017026" elapsed="0.000999"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:32.016620" elapsed="0.001496"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:32.015670" elapsed="0.002505"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:32.018570" elapsed="0.000363"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:32.020950" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:32.019718" elapsed="0.001439">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:32.019381" elapsed="0.001965">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:32.019087" elapsed="0.002406">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:32.004642" elapsed="0.017106">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:31.996031" elapsed="0.026036">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:34.027745" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:34.026834" elapsed="0.000981"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:34.028558" elapsed="0.000402"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:34.028021" elapsed="0.001022"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:34.027972" elapsed="0.001125"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:34.044045" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:34.044361" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:34.044616" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:34.034836" elapsed="0.009838"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:34.045418" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:34.044835" elapsed="0.000734"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:34.046824" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:34.046007" elapsed="0.000963"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:34.045623" elapsed="0.001420"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:34.044795" elapsed="0.002293"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:34.047394" elapsed="0.000357"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:34.049471" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:34.048432" elapsed="0.001231">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:34.048137" elapsed="0.001680">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:34.047868" elapsed="0.002096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:34.033937" elapsed="0.016344">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:34.025878" elapsed="0.024600">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:36.053243" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:36.052410" elapsed="0.000904"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:36.054036" elapsed="0.000363"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:36.053487" elapsed="0.000990"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:36.053442" elapsed="0.001118"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:36.069046" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:36.069348" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:36.069574" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:36.060201" elapsed="0.009430"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:36.070355" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:36.069786" elapsed="0.000684"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:36.071722" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:36.070937" elapsed="0.000888"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:36.070550" elapsed="0.001365"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:36.069748" elapsed="0.002214"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:36.072264" elapsed="0.000346"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:36.074745" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:36.073272" elapsed="0.001643">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:36.072983" elapsed="0.002081">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:36.072724" elapsed="0.002576">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:36.059335" elapsed="0.016176">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:36.051433" elapsed="0.024307">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:38.078661" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:38.077738" elapsed="0.001004"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:38.079478" elapsed="0.000437"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:38.078961" elapsed="0.001038"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:38.078913" elapsed="0.001154"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:38.098371" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:38.098844" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:38.099112" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:38.087722" elapsed="0.011450"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:38.100075" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:38.099352" elapsed="0.000850"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:38.101865" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:38.100744" elapsed="0.001260"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:38.100258" elapsed="0.001850"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:38.099304" elapsed="0.002877"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:38.102639" elapsed="0.000457"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:38.105010" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:38.103855" elapsed="0.001320">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:38.103482" elapsed="0.001976">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:38.103224" elapsed="0.002402">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:38.086318" elapsed="0.019526">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:38.076711" elapsed="0.029353">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:40.108958" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:40.108108" elapsed="0.000922"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:40.109745" elapsed="0.000389"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:40.109209" elapsed="0.001005"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:40.109162" elapsed="0.001107"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:40.124922" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:40.125228" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:40.125462" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:40.116367" elapsed="0.009180"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:40.126337" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:40.125725" elapsed="0.000747"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:40.127790" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:40.126953" elapsed="0.000960"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:40.126555" elapsed="0.001430"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:40.125682" elapsed="0.002346"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:40.128334" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:40.130383" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:40.129366" elapsed="0.001368">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:40.129062" elapsed="0.001853">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:40.128794" elapsed="0.002252">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:40.115490" elapsed="0.015769">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:40.107028" elapsed="0.024428">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:42.134355" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:42.133460" 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-09-26T23:15:42.135250" elapsed="0.000437"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:42.134659" elapsed="0.001112"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:42.134606" elapsed="0.001224"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:42.150368" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:42.150745" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:42.150977" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:42.141719" elapsed="0.009316"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:42.151787" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:42.151199" elapsed="0.000735"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:42.153172" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:42.152353" elapsed="0.000923"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:42.151985" elapsed="0.001361"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:42.151158" elapsed="0.002232"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:42.153852" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:42.155958" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:42.154915" elapsed="0.001201">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:42.154596" elapsed="0.001672">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:42.154319" elapsed="0.002072">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:42.140824" elapsed="0.015803">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:42.132418" elapsed="0.024406">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:44.160286" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:44.158721" elapsed="0.001637"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:44.161132" elapsed="0.000446"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:44.160569" elapsed="0.001101"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:44.160488" elapsed="0.001246"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:44.176479" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:44.176849" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:44.177098" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:44.168099" elapsed="0.009053"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:44.177924" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:44.177314" elapsed="0.000728"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:44.179399" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:44.178592" elapsed="0.000909"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:44.178194" elapsed="0.001409"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:44.177273" elapsed="0.002375"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:44.179975" elapsed="0.000312"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:44.182010" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:44.180990" elapsed="0.001174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:44.180675" elapsed="0.001658">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:44.180404" elapsed="0.002058">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:44.167201" elapsed="0.015495">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:44.157761" elapsed="0.025170">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:46.185738" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:46.184869" elapsed="0.000942"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:46.186565" elapsed="0.000401"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:46.186018" elapsed="0.001030"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:46.185970" elapsed="0.001135"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:46.201638" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:46.201986" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:46.202301" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:46.192782" elapsed="0.009575"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:46.203135" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:46.202549" elapsed="0.000733"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:46.204640" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:46.203787" elapsed="0.000960"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:46.203346" elapsed="0.001471"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:46.202478" elapsed="0.002384"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:46.205192" elapsed="0.000320"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:46.207283" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:46.206235" elapsed="0.001206">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:46.205931" elapsed="0.001696">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:46.205662" elapsed="0.002095">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:46.191925" elapsed="0.016063">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:46.183928" elapsed="0.024257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:48.211615" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:48.210746" elapsed="0.000940"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:48.212409" elapsed="0.000414"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:48.211866" elapsed="0.001061"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:48.211818" elapsed="0.001168"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:48.227502" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:48.227994" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:48.228227" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:48.218706" elapsed="0.009577"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:48.229075" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:48.228452" elapsed="0.000746"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:48.230464" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:48.229652" elapsed="0.000951"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:48.229252" elapsed="0.001423"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:48.228411" elapsed="0.002309"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:48.231056" elapsed="0.000327"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:48.233153" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:48.232099" elapsed="0.001218">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:48.231780" elapsed="0.001692">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:48.231500" elapsed="0.002136">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:48.217801" elapsed="0.016045">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:48.209777" elapsed="0.024294">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:50.236854" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:50.236021" 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="PASS" start="2026-09-26T23:15:50.237658" elapsed="0.000526"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:50.237125" elapsed="0.001141"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:50.237078" elapsed="0.001244"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:50.252759" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:50.253106" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:50.253307" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:50.244037" elapsed="0.009324"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:50.254130" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:50.253552" elapsed="0.000699"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:50.255490" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:50.254699" elapsed="0.000928"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:50.254301" elapsed="0.001397"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:50.253481" elapsed="0.002261"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:50.256066" elapsed="0.000320"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:50.258665" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:50.257108" elapsed="0.001717">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:50.256787" elapsed="0.002216">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:50.256502" elapsed="0.002630">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:50.243153" elapsed="0.016188">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:50.235057" elapsed="0.024507">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:52.262445" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:52.261591" 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="PASS" start="2026-09-26T23:15:52.263295" elapsed="0.000409"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:52.262746" elapsed="0.001041"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:52.262696" elapsed="0.001146"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:52.278496" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:52.278861" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:52.279099" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:52.269697" elapsed="0.009457"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:52.279926" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:52.279318" elapsed="0.000730"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:52.281310" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:52.280469" elapsed="0.000948"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:52.280097" elapsed="0.001390"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:52.279277" elapsed="0.002287"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:52.281898" elapsed="0.000330"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:52.284007" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:52.282950" elapsed="0.001217">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:52.282626" elapsed="0.001696">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:52.282345" elapsed="0.002101">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:52.268710" elapsed="0.015974">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:52.260593" elapsed="0.024424">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:54.287819" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:54.286968" elapsed="0.000945"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:54.288636" elapsed="0.000400"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:54.288095" elapsed="0.001023"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:54.288048" elapsed="0.001126"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:54.304211" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:54.304554" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:54.304782" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:54.295333" elapsed="0.009504"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:54.305619" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:54.305029" elapsed="0.000711"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:54.307025" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:54.306178" elapsed="0.000953"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:54.305791" elapsed="0.001415"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:54.304986" elapsed="0.002271"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:54.307616" elapsed="0.000346"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:54.309707" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:54.308663" elapsed="0.001203">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:54.308335" elapsed="0.001704">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:54.308081" elapsed="0.002082">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:54.294444" elapsed="0.016036">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:54.285991" elapsed="0.024722">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:56.313547" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:56.312674" elapsed="0.000947"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:56.314358" elapsed="0.000415"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:56.313810" elapsed="0.001045"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:56.313759" elapsed="0.001178"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:56.329903" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:56.330219" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:56.330429" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:56.320632" elapsed="0.009852"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:56.331266" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:56.330682" elapsed="0.000707"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:56.332709" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:56.331841" elapsed="0.000975"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:56.331440" elapsed="0.001479"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:56.330640" elapsed="0.002328"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:56.333279" elapsed="0.000361"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:56.335437" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:56.334335" elapsed="0.001319">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:56.334037" elapsed="0.001771">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:56.333765" elapsed="0.002282">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:56.319737" elapsed="0.016526">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:56.311673" elapsed="0.024787">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:15:58.339922" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:15:58.338413" elapsed="0.001580"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:15:58.340713" elapsed="0.000398"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:58.340176" elapsed="0.001016"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:58.340129" elapsed="0.001119"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:15:58.355312" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:15:58.355674" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:15:58.355922" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:15:58.346908" elapsed="0.009073"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:15:58.356728" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:15:58.356147" elapsed="0.000700"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:15:58.358182" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:15:58.357286" elapsed="0.001002"/>
</kw>
<status status="PASS" start="2026-09-26T23:15:58.356920" elapsed="0.001437"/>
</branch>
<status status="PASS" start="2026-09-26T23:15:58.356105" elapsed="0.002295"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:15:58.358737" elapsed="0.000343"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:15:58.360800" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:15:58.359763" elapsed="0.001217">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:15:58.359437" elapsed="0.001796">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:15:58.359195" elapsed="0.002169">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:15:58.346021" elapsed="0.015582">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:15:58.337407" elapsed="0.024400">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:00.364641" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:00.363763" elapsed="0.000956"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:00.365425" elapsed="0.000406"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:00.364916" elapsed="0.001022"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:00.364850" elapsed="0.001145"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:00.379218" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:00.379564" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:00.379766" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:00.371605" elapsed="0.008215"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:00.380582" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:00.380008" elapsed="0.000695"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:00.381958" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:00.381139" elapsed="0.000925"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:00.380754" elapsed="0.001378"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:00.379968" elapsed="0.002208"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:00.382479" elapsed="0.000355"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:00.384672" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:00.383544" elapsed="0.001430">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:16:00.383219" elapsed="0.001921">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:00.382974" elapsed="0.002299">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:00.370728" elapsed="0.014821">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:00.362792" elapsed="0.022986">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:02.389208" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:02.388283" elapsed="0.000998"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:02.390102" elapsed="0.000385"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:02.389484" elapsed="0.001132"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:02.389437" elapsed="0.001243"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:02.405471" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:02.405857" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:02.406109" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:02.396443" elapsed="0.009722"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:02.406926" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:02.406327" elapsed="0.000721"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:02.408282" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:02.407459" elapsed="0.000927"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:02.407099" elapsed="0.001356"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:02.406287" elapsed="0.002213"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:02.408976" elapsed="0.000326"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:02.411066" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:02.410020" elapsed="0.001205">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:16:02.409695" elapsed="0.001681">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:02.409418" elapsed="0.002083">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:02.395577" elapsed="0.016166">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:02.387305" elapsed="0.024659">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:04.414732" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:04.413900" elapsed="0.000902"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:04.415497" elapsed="0.000427"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:04.415000" elapsed="0.001002"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:04.414954" elapsed="0.001101"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:04.430411" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:04.430787" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:04.431018" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:04.421703" elapsed="0.009370"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:04.431814" elapsed="0.000074"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:04.431234" elapsed="0.000723"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:04.433404" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:04.432509" elapsed="0.001001"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:04.432102" elapsed="0.001543"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:04.431194" elapsed="0.002499"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:04.434035" elapsed="0.000325"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:04.436657" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:04.435074" elapsed="0.001744">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:16:04.434753" elapsed="0.002244">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:04.434476" elapsed="0.002646">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:04.420815" elapsed="0.016510">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:04.412940" elapsed="0.024572">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:06.440310" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:06.439451" elapsed="0.000929"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:06.441187" elapsed="0.000437"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:06.440612" elapsed="0.001096"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:06.440510" elapsed="0.001256"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:06.456178" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:06.456490" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:06.456838" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:06.447428" elapsed="0.009488"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:06.457667" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:06.457080" elapsed="0.000710"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:06.459085" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:06.458249" elapsed="0.000941"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:06.457842" elapsed="0.001417"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:06.457038" elapsed="0.002266"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:06.459653" elapsed="0.000358"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:06.461764" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:06.460711" elapsed="0.001233">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:16:06.460375" elapsed="0.001723">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:06.460128" elapsed="0.002095">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:06.446573" elapsed="0.015855">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:06.438450" elapsed="0.024206">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:08.465411" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:08.464575" elapsed="0.000908"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:08.466277" elapsed="0.000427"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:08.465734" elapsed="0.001050"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:08.465679" elapsed="0.001160"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:08.481705" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:08.482341" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:08.482615" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:08.472939" elapsed="0.009735"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:08.483468" elapsed="0.000094"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:08.482835" elapsed="0.000820"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:08.485076" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:08.484143" elapsed="0.001080"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:08.483729" elapsed="0.001589"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:08.482794" elapsed="0.002586"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:08.485813" elapsed="0.000363"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:08.488164" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:08.487008" elapsed="0.001314">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-26T23:16:08.486624" elapsed="0.001847">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:08.486298" elapsed="0.002335">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:08.472020" elapsed="0.016825">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:08.463601" elapsed="0.025458">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<msg time="2026-09-26T23:16:08.489243" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-09-26T23:14:37.280282" elapsed="91.209279">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-26T23:16:08.490027" elapsed="0.000047"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:08.491901" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-26T23:16:08.769703" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:16:08.770019" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:16:08.770113" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:16:08.770199" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:08.491487" elapsed="0.278761"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:08.771450" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:08.770825" elapsed="0.000749"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:08.772332" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-26T23:16:09.062351" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:16:09.062730" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:16:09.062824" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:16:09.062937" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:08.771982" elapsed="0.291005"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:09.063942" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-26T23:16:09.121103" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:16:09.121350" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-26T23:16:09.121446" level="INFO">${stderr} = </msg>
<msg time="2026-09-26T23:16:09.121579" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:09.063479" elapsed="0.058158"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:09.122301" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-26T23:16:09.179113" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:09.122090" elapsed="0.057152"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:09.193233" level="INFO">DELETE Request : url=http://10.30.171.168: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=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:09.193341" level="INFO">DELETE Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:09.193574" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:09.179614" elapsed="0.014032"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:09.201985" level="INFO">DELETE Request : url=http://10.30.171.168: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=node01keyqbx035emn19fdxq2ydsvks3.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:09.202263" level="INFO">DELETE Response : url=http://10.30.171.168:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-26T23:16:09.202482" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:09.193992" elapsed="0.008579"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-26T23:16:08.490717" elapsed="0.712001"/>
</kw>
<doc>CallHome SSH device registered with wrong global credentials should fail to mount.</doc>
<status status="FAIL" start="2026-09-26T23:14:36.520744" elapsed="92.682074">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwEVHDahTIU5MARbrLjsBkl4kK4eJrUutYJ8sUVcCKb5OMkkRjVVtHw5QbH2shbqVjIDJ1+6ic3aG04FT9aGsX4GOGZhny1HWSZEBP2aatHOvyz0oow7LSRWPkjsF0+9ECHOAmN5Lk81ViPxuaq7fvAySVXgMLTfqiZgWvbWA4JoZcVBID3gC8wcXEjPiBilHUX2v62MzWqocJO2zuXp3HVI34KsGVcKYh0BK5uOhzSaO5cMayt3sdyvb2fvswxcBu4ZNLftRe7bxbIMk7yMFB2qPAYqNznxR883+rv15Q9iAz3gnTYx4njEzpgY31e6G5OytN3QBZ8P2nvnh4Evv"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</test>
<test id="s1-s1-t5" name="CallHome with Incorrect Node-id" line="91">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:09.206785" level="INFO">Creating Session using : alias=session, url=http://10.30.171.168:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7e2a77277790&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-26T23:16:09.206132" elapsed="0.001042"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:09.207906" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-26T23:16:09.226992" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:09.207639" elapsed="0.019482"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:09.227765" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-26T23:16:09.471198" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:09.227501" elapsed="0.243906"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:09.472286" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-26T23:16:09.523043" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:16:09.523273" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDX72oUETY8vdaC5UiXmpUCtfHWl1j+5EM8gh51qJR/IiSXakZl/y5jQpFTRM20r2yluwRaItXENlLcMEC9SaCRHjOxrc26d69o1Bm5Vke2AhrlGj3APEvlwMa9iLotofdk3MGIO+5dgeOhYovj+sHgAkiiUbokKmR9hrqEdCc9...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:09.472002" elapsed="0.051326"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-26T23:16:09.527748" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDX72oUETY8vdaC5UiXmpUCtfHWl1j+5EM8gh51qJR/IiSXakZl/y5jQpFTRM20r2yluwRaItXENlLcMEC9SaCRHjOxrc26d69o1Bm5Vke2AhrlGj3APEvlwMa9iLotofdk3MGIO+5dgeOhYovj+sHgAkiiUbokKmR9hrqEdCc9...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes the variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-26T23:16:09.523817" elapsed="0.004032"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-26T23:16:09.205273" elapsed="0.322731"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:16:09.573346" 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-09-26T23:16:09.529120" elapsed="0.044354"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:16:09.585405" 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-09-26T23:16:09.573921" elapsed="0.011654"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-26T23:16:09.528386" elapsed="0.057329"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-26T23:16:09.587647" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:09.587016" elapsed="0.000741"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-26T23:16:09.589039" 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-09-26T23:16:09.589321" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-26T23:16:09.588728" elapsed="0.000649"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-26T23:16:09.590420" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes the variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-26T23:16:09.589752" elapsed="0.000755"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:09.588116" elapsed="0.002534"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:09.587813" elapsed="0.002886"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:09.586964" elapsed="0.003778"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:16:09.591571" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}"...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:16:09.591078" elapsed="0.000554"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:16:09.592389" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
   ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:16:09.591982" elapsed="0.000462"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:16:09.593340" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
         ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:16:09.592927" elapsed="0.000469"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:16:09.594182" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
         ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:16:09.593757" elapsed="0.000480"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:09.617234" level="INFO">POST Request : url=http://10.30.171.168: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb"
        }
    }
}
 
 </msg>
<msg time="2026-09-26T23:16:09.617352" level="INFO">POST Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0dj4xc7kpes2a2zbgeyq2qo3m4.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 25-Sep-2026 23:16:09 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=incorrect_hostname', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:09.617584" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:09.594562" elapsed="0.023079"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:16:09.618029" elapsed="0.000822"/>
</kw>
<arg>incorrect_hostname</arg>
<arg>${INCORRECT_PUB_KEY}</arg>
<arg>root</arg>
<arg>root</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-26T23:16:09.586236" elapsed="0.032769"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-26T23:16:09.621809" 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-09-26T23:16:09.622096" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-26T23:16:09.621542" elapsed="0.000610"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-26T23:16:09.623185" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<arg>${template}</arg>
<doc>Makes the variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-26T23:16:09.622494" elapsed="0.000778"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:09.620901" elapsed="0.002481"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:09.620299" elapsed="0.003132"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-26T23:16:09.623809" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:09.623482" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:09.620258" elapsed="0.003716"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:16:09.624732" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:16:09.624278" elapsed="0.000509"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:16:09.625599" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:16:09.625137" elapsed="0.000522"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:16:09.626432" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:16:09.626033" elapsed="0.000453"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:16:09.627263" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDX72oUETY8vdaC5UiXmpUCtfHWl1j+5EM8gh51qJR/IiSXakZl/y5jQpFTRM20...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:16:09.626843" elapsed="0.000475"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:09.640812" level="INFO">POST Request : url=http://10.30.171.168: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=node0dj4xc7kpes2a2zbgeyq2qo3m4.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDX72oUETY8vdaC5UiXmpUCtfHWl1j+5EM8gh51qJR/IiSXakZl/y5jQpFTRM20r2yluwRaItXENlLcMEC9SaCRHjOxrc26d69o1Bm5Vke2AhrlGj3APEvlwMa9iLotofdk3MGIO+5dgeOhYovj+sHgAkiiUbokKmR9hrqEdCc9DaggOGIaRjs7QLEU8ClRrLWMSYfKssoNrvd7D4icm0ZgmOum/POZvq1BMCXcRZA5Bby/sX8K6d9ZtB95h8s2xLx5h7be2QrivU+23QDl7iZh8JOhmdbhJVOl1NLc2azCYW10ZIoP+wFJM8oUxP/zVOVrFbyxyKm+gRVsw5pNJTAB"
        }
    }
}
 
 </msg>
<msg time="2026-09-26T23:16:09.640949" level="INFO">POST Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:09.641128" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:09.627641" elapsed="0.013540"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:16:09.641587" elapsed="0.000821"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-26T23:16:09.619493" elapsed="0.023095"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:09.643363" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-26T23:16:09.919550" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:16:09.919909" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:16:09.920006" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:16:09.920093" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:09.643010" elapsed="0.277131"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:09.926355" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:09.925618" 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="NOT RUN" start="2026-09-26T23:16:09.927125" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:09.926609" elapsed="0.000636"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:09.926560" elapsed="0.000738"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:09.942456" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dj4xc7kpes2a2zbgeyq2qo3m4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:09.942851" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}},{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDX72oUETY8vdaC5UiXmpUCtfHWl1j+5EM8gh51qJR/IiSXakZl/y5jQpFTRM20r2yluwRaItXENlLcMEC9SaCRHjOxrc26d69o1Bm5Vke2AhrlGj3APEvlwMa9iLotofdk3MGIO+5dgeOhYovj+sHgAkiiUbokKmR9hrqEdCc9DaggOGIaRjs7QLEU8ClRrLWMSYfKssoNrvd7D4icm0ZgmOum/POZvq1BMCXcRZA5Bby/sX8K6d9ZtB95h8s2xLx5h7be2QrivU+23QDl7iZh8JOhmdbhJVOl1NLc2azCYW10ZIoP+wFJM8oUxP/zVOVrFbyxyKm+gRVsw5pNJTAB"}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:09.943112" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:09.932988" elapsed="0.010179"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:09.943930" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:09.943326" elapsed="0.000727"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:09.945366" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"incorrect_hostname","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}},{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDX72oUETY8vdaC5UiXmpUCtfHWl1j+5EM8gh51qJR/IiSXakZl/y5jQpFTRM20r2yluwRaItXENlLcMEC9SaCRHjOxrc26d69o1Bm5Vke2AhrlGj3APEvlwMa9iLotofdk3MGIO+5dgeOhYovj+sHgAkiiUbokKmR9hrqEdCc9DaggOGIaRjs7QLEU8ClRrLWMSYfKssoNrvd7D4icm0ZgmOum/POZvq1BMCXcRZA5Bby/sX8K6d9ZtB95h8s2xLx5h7be2QrivU+23QDl7iZh8JOhmdbhJVOl1NLc2azCYW10ZIoP+wFJM8oUxP/zVOVrFbyxyKm+gRVsw5pNJTAB"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:09.944543" elapsed="0.001205"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:09.944103" elapsed="0.001726"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:09.943286" elapsed="0.002610"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:09.946207" elapsed="0.000351"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:16:09.947240" elapsed="0.000967"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-26T23:16:09.946944" elapsed="0.001343"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:16:09.948770" elapsed="0.000927"/>
</kw>
<var name="${i}">"device-status":"DISCONNECTED"</var>
<status status="PASS" start="2026-09-26T23:16:09.948452" elapsed="0.001325"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-09-26T23:16:09.946677" elapsed="0.003161"/>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-09-26T23:16:09.932100" elapsed="0.017879"/>
</kw>
<arg>DISCONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="PASS" start="2026-09-26T23:16:09.924824" elapsed="0.025264"/>
</kw>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>DISCONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-09-26T23:16:09.920684" elapsed="0.029495"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Run Keyword And Expect Error" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:09.987406" level="INFO">GET Request : url=http://10.30.171.168: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=node0dj4xc7kpes2a2zbgeyq2qo3m4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:09.987736" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/network-topology:network-topology/topology=topology-netconf?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '990'} 
 body={"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]} 
 </msg>
<msg time="2026-09-26T23:16:09.987971" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:09.957854" elapsed="0.030172"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:09.988782" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:09.988188" elapsed="0.000739"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:09.990164" level="INFO">{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:09.989340" elapsed="0.000935"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:09.988981" elapsed="0.001363"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:09.988145" elapsed="0.002244"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:09.990723" elapsed="0.000332"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:09.992738" 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 the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:09.991713" elapsed="0.001214">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</kw>
<var name="${i}">"connection-status":"connected"</var>
<status status="FAIL" start="2026-09-26T23:16:09.991394" elapsed="0.001770">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:09.991166" elapsed="0.002133">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</for>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:09.956999" elapsed="0.036511">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</kw>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the keyword and checks that the expected error occurred.</doc>
<status status="PASS" start="2026-09-26T23:16:09.951827" elapsed="0.042144"/>
</kw>
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-09-26T23:16:09.950594" elapsed="0.043495"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:09.995825" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-26T23:16:10.272623" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:16:10.272999" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:16:10.273092" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:16:10.273177" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:09.995445" elapsed="0.277784"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:10.274435" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:10.273791" elapsed="0.000757"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:10.275312" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-26T23:16:10.572749" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:16:10.573115" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:16:10.573207" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:16:10.573294" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:10.274960" elapsed="0.298384"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:10.574421" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-26T23:16:10.629282" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:16:10.629589" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-26T23:16:10.629711" level="INFO">${stderr} = </msg>
<msg time="2026-09-26T23:16:10.629823" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:10.573952" elapsed="0.055967"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:10.630666" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-26T23:16:10.683308" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:10.630396" elapsed="0.053041"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:10.695464" level="INFO">DELETE Request : url=http://10.30.171.168: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=node0dj4xc7kpes2a2zbgeyq2qo3m4.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:10.695728" level="INFO">DELETE Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:10.695978" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:10.683805" elapsed="0.012229"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:10.703637" level="INFO">DELETE Request : url=http://10.30.171.168: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=node0dj4xc7kpes2a2zbgeyq2qo3m4.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:10.703952" level="INFO">DELETE Response : url=http://10.30.171.168:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-26T23:16:10.704160" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:10.696344" elapsed="0.007871"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-26T23:16:09.994670" elapsed="0.709693"/>
</kw>
<doc>CallHome from device that does not have an entry in per-device credential with result to mount point failure.</doc>
<status status="PASS" start="2026-09-26T23:16:09.203890" elapsed="1.500565"/>
</test>
<test id="s1-s1-t6" name="CallHome with Rogue Devices" line="111">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:10.708441" level="INFO">Creating Session using : alias=session, url=http://10.30.171.168:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7e2a772775d0&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-26T23:16:10.707955" elapsed="0.000853"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:10.709433" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-26T23:16:10.735119" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:10.709231" elapsed="0.026013"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:10.735925" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-26T23:16:10.948986" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:10.735688" elapsed="0.213488"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:10.950027" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-26T23:16:10.999135" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:16:10.999363" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQC7s0r1DlIC7Z0IzCB7U7T4iwJS7iOzm3I+QPU9Jr6C4ugmtAWHJYo2Uf03eAN/yQf/iC/bMNStjq3p7gE7LQIis1aZdrpZLsEL9pAd+JwilPsVrIFRf7vjIZ0AGVImxLXf2jtka7/jc/8hQhEUiHrFf2nuPybn+7T7UH9xM3W/...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:10.949717" elapsed="0.049706"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-26T23:16:11.003390" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQC7s0r1DlIC7Z0IzCB7U7T4iwJS7iOzm3I+QPU9Jr6C4ugmtAWHJYo2Uf03eAN/yQf/iC/bMNStjq3p7gE7LQIis1aZdrpZLsEL9pAd+JwilPsVrIFRf7vjIZ0AGVImxLXf2jtka7/jc/8hQhEUiHrFf2nuPybn+7T7UH9xM3W/...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes the variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-26T23:16:10.999904" elapsed="0.003606"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-26T23:16:10.707137" elapsed="0.296573"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:16:11.048191" 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-09-26T23:16:11.004812" elapsed="0.043504"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:16:11.059206" 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-09-26T23:16:11.048709" elapsed="0.010622"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-26T23:16:11.004119" elapsed="0.055340"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-26T23:16:11.061433" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:11.060801" elapsed="0.000774"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-26T23:16:11.062916" 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-09-26T23:16:11.063299" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-26T23:16:11.062619" elapsed="0.000747"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-26T23:16:11.064495" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes the variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-26T23:16:11.063800" elapsed="0.000821"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:11.061952" elapsed="0.002785"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:11.061635" elapsed="0.003151"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:11.060750" elapsed="0.004081"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:16:11.065813" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
      ...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:16:11.065177" elapsed="0.000730"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:16:11.066739" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
          },...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:16:11.066287" elapsed="0.000509"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:16:11.067642" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:16:11.067203" elapsed="0.000495"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:16:11.068456" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:16:11.068051" elapsed="0.000461"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:11.088074" level="INFO">POST Request : url=http://10.30.171.168: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb"
        }
    }
}
 
 </msg>
<msg time="2026-09-26T23:16:11.088190" level="INFO">POST Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 25-Sep-2026 23:16:11 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:11.088372" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:11.068846" elapsed="0.019579"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="PASS" start="2026-09-26T23:16:11.088826" elapsed="0.000852"/>
</kw>
<arg>netopeer2</arg>
<arg>${INCORRECT_PUB_KEY}</arg>
<arg>root</arg>
<arg>root</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-26T23:16:11.060061" elapsed="0.029746"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:16:11.090652" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-26T23:16:11.366708" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:16:11.367042" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:16:11.367134" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:16:11.367222" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:16:11.090273" elapsed="0.276997"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:11.371320" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:11.370581" elapsed="0.000798"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:11.372099" elapsed="0.000373"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:11.371574" elapsed="0.001008"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:11.371495" elapsed="0.001145"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:11.387602" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:11.387949" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:11.388173" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:11.378407" elapsed="0.009821"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:11.388995" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:11.388385" elapsed="0.000729"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:11.390349" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:11.389548" elapsed="0.000905"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:11.389164" elapsed="0.001390"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:11.388345" elapsed="0.002257"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:11.390929" elapsed="0.000317"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:11.392998" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:11.391960" elapsed="0.001195">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:11.391645" elapsed="0.001661">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:11.391365" elapsed="0.002067">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:11.377556" elapsed="0.016117">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:11.369783" elapsed="0.024113">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:13.396826" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:13.395963" 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-09-26T23:16:13.397659" elapsed="0.000396"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:13.397109" elapsed="0.001025"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:13.397059" elapsed="0.001131"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:13.413357" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:13.413716" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:13.413953" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:13.403833" elapsed="0.010177"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:13.414791" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:13.414179" elapsed="0.000754"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:13.416353" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:13.415348" elapsed="0.001108"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:13.414984" elapsed="0.001573"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:13.414137" elapsed="0.002467"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:13.416932" elapsed="0.000321"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:13.419587" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:13.418451" elapsed="0.001306">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:13.417645" elapsed="0.002288">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:13.417370" elapsed="0.002693">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:13.402986" elapsed="0.017282">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:13.394975" elapsed="0.025627">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:15.423335" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:15.422485" elapsed="0.000918"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:15.424133" elapsed="0.000364"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:15.423610" elapsed="0.000995"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:15.423561" elapsed="0.001100"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:15.439185" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:15.439488" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:15.439736" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:15.430427" elapsed="0.009382"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:15.440780" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:15.440053" elapsed="0.000876"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:15.442227" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:15.441353" elapsed="0.000978"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:15.440983" elapsed="0.001418"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:15.439999" elapsed="0.002445"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:15.442800" elapsed="0.000346"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:15.444853" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:15.443830" elapsed="0.001200">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:15.443502" elapsed="0.001679">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:15.443262" elapsed="0.002044">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:15.429568" elapsed="0.016086">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:15.421561" elapsed="0.024294">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:17.448942" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:17.447987" 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-09-26T23:16:17.449840" elapsed="0.000512"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:17.449266" elapsed="0.001171"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:17.449204" elapsed="0.001291"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:17.466733" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:17.467079" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:17.467308" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:17.457249" elapsed="0.010115"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:17.468267" elapsed="0.000068"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:17.467561" elapsed="0.000858"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:17.469828" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:17.468948" elapsed="0.001023"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:17.468487" elapsed="0.001558"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:17.467487" elapsed="0.002604"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:17.470400" elapsed="0.000359"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:17.472642" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:17.471442" elapsed="0.001362">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:17.471145" elapsed="0.001875">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:17.470894" elapsed="0.002411">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:17.456277" elapsed="0.017319">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:17.446895" elapsed="0.026913">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:19.477010" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:19.476019" 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-09-26T23:16:19.477942" elapsed="0.000470"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:19.477330" elapsed="0.001166"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:19.477275" elapsed="0.001320"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:19.494716" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:19.495140" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:19.495392" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:19.485302" elapsed="0.010160"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:19.496398" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:19.495708" elapsed="0.000842"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:19.497826" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:19.497005" elapsed="0.000951"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:19.496604" elapsed="0.001423"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:19.495653" elapsed="0.002419"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:19.498404" elapsed="0.000358"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:19.500673" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:19.499450" elapsed="0.001386">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:19.499155" elapsed="0.002024">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:19.498904" elapsed="0.002443">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:19.484282" elapsed="0.017312">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:19.474820" elapsed="0.026980">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:21.505511" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:21.503885" elapsed="0.001769"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:21.506725" elapsed="0.000470"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:21.505954" elapsed="0.001326"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:21.505853" elapsed="0.001484"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:21.522173" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:21.522504" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:21.522786" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:21.513080" elapsed="0.009764"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:21.523740" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:21.523078" elapsed="0.000815"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:21.525228" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:21.524328" elapsed="0.001011"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:21.523954" elapsed="0.001457"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:21.523031" elapsed="0.002426"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:21.525838" elapsed="0.000362"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:21.527986" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:21.526928" elapsed="0.001334">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:21.526607" elapsed="0.001812">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:21.526326" elapsed="0.002251">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:21.512188" elapsed="0.016608">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:21.502888" elapsed="0.026132">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:23.531888" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:23.531028" elapsed="0.000933"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:23.532678" elapsed="0.000401"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:23.532142" elapsed="0.001016"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:23.532093" elapsed="0.001121"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:23.548491" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:23.548896" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:23.549127" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:23.539010" elapsed="0.010175"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:23.550107" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:23.549379" elapsed="0.000858"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:23.551604" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:23.550701" elapsed="0.001122"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:23.550291" elapsed="0.001638"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:23.549330" elapsed="0.002661"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:23.552414" elapsed="0.000476"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:23.555309" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:23.553888" elapsed="0.001682">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:23.553381" elapsed="0.002397">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:23.553053" elapsed="0.002939">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:23.538061" elapsed="0.018233">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:23.530066" elapsed="0.026557">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:25.560094" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:25.559212" 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="PASS" start="2026-09-26T23:16:25.561010" elapsed="0.000381"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:25.560406" elapsed="0.001067"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:25.560343" elapsed="0.001217"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:25.580123" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:25.580462" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:25.580829" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:25.570310" elapsed="0.010601"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:25.581792" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:25.581112" elapsed="0.000828"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:25.583279" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:25.582372" elapsed="0.001016"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:25.581994" elapsed="0.001464"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:25.581062" elapsed="0.002441"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:25.583850" elapsed="0.000352"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:25.586008" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:25.584949" elapsed="0.001241">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:25.584606" elapsed="0.001753">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:25.584323" elapsed="0.002167">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:25.568666" elapsed="0.018103">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:25.558262" elapsed="0.028741">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:27.589807" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:27.588965" elapsed="0.000940"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:27.590623" elapsed="0.000398"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:27.590088" elapsed="0.001011"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:27.590040" elapsed="0.001115"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:27.606075" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:27.606390" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:27.606627" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:27.596809" elapsed="0.009875"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:27.607426" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:27.606846" elapsed="0.000731"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:27.608819" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:27.608020" elapsed="0.000926"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:27.607629" elapsed="0.001386"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:27.606805" elapsed="0.002255"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:27.609367" elapsed="0.000352"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:27.611958" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:27.610400" elapsed="0.001720">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:27.610104" elapsed="0.002170">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:27.609834" elapsed="0.002566">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:27.595943" elapsed="0.016696">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:27.588000" elapsed="0.024835">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:29.615666" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:29.614803" elapsed="0.000937"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:29.616463" elapsed="0.000439"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:29.615954" elapsed="0.001031"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:29.615902" elapsed="0.001140"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:29.632239" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:29.632589" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:29.632793" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:29.622761" elapsed="0.010087"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:29.633622" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:29.633037" elapsed="0.000706"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:29.635072" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:29.634177" elapsed="0.001003"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:29.633793" elapsed="0.001458"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:29.632996" elapsed="0.002298"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:29.635664" elapsed="0.000349"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:29.637772" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:29.636718" elapsed="0.001242">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:29.636383" elapsed="0.001730">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:29.636133" elapsed="0.002106">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:29.621889" elapsed="0.016561">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:29.613832" elapsed="0.024948">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:31.641580" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:31.640730" elapsed="0.000925"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:31.642349" elapsed="0.000417"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:31.641830" elapsed="0.001015"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:31.641783" elapsed="0.001139"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:31.657927" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:31.658243" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:31.658467" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:31.649026" elapsed="0.009528"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:31.659306" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:31.658725" elapsed="0.000700"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:31.660705" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:31.659899" elapsed="0.000913"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:31.659476" elapsed="0.001432"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:31.658684" elapsed="0.002270"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:31.661262" elapsed="0.000351"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:31.663326" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:31.662296" elapsed="0.001187">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:31.662000" elapsed="0.001672">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:31.661733" elapsed="0.002065">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:31.648135" elapsed="0.015988">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:31.639758" elapsed="0.024566">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:33.667154" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:33.666275" elapsed="0.000951"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:33.667969" elapsed="0.000367"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:33.667409" elapsed="0.001007"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:33.667359" elapsed="0.001112"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:33.682793" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:33.683138" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:33.683342" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:33.674142" elapsed="0.009255"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:33.684177" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:33.683593" elapsed="0.000703"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:33.685578" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:33.684748" elapsed="0.000943"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:33.684348" elapsed="0.001422"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:33.683549" elapsed="0.002274"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:33.686160" elapsed="0.000316"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:33.688224" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:33.687194" elapsed="0.001184">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:33.686893" elapsed="0.001664">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:33.686624" elapsed="0.002164">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:33.673258" elapsed="0.015768">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:33.665284" elapsed="0.023939">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:35.692367" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:35.691054" elapsed="0.001380"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:35.693151" elapsed="0.000360"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:35.692636" elapsed="0.000983"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:35.692590" elapsed="0.001085"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:35.708356" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:35.708730" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:35.708985" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:35.699261" elapsed="0.009779"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:35.709768" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:35.709199" elapsed="0.000701"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:35.711166" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:35.710361" elapsed="0.000909"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:35.709950" elapsed="0.001387"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:35.709159" elapsed="0.002222"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:35.711710" elapsed="0.000330"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:35.713723" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:35.712720" elapsed="0.001174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:35.712397" elapsed="0.001727">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:35.712152" elapsed="0.002099">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:35.698398" elapsed="0.016055">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:35.690151" elapsed="0.024526">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:37.717990" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:37.717075" elapsed="0.001000"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:37.718866" elapsed="0.000386"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:37.718272" elapsed="0.001061"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:37.718222" elapsed="0.001168"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:37.734336" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:37.734726" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:37.734957" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:37.725222" elapsed="0.009791"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:37.735768" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:37.735176" elapsed="0.000736"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:37.737176" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:37.736338" elapsed="0.000946"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:37.735965" elapsed="0.001389"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:37.735135" elapsed="0.002265"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:37.737741" elapsed="0.000358"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:37.739963" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:37.738835" elapsed="0.001432">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:37.738498" elapsed="0.001927">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:37.738251" elapsed="0.002335">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:37.724337" elapsed="0.016465">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:37.715946" elapsed="0.025076">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:39.746678" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:39.745572" elapsed="0.001190"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:39.747600" elapsed="0.000425"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:39.747021" elapsed="0.001085"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:39.746953" elapsed="0.001221"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:39.763033" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:39.763355" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:39.763654" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:39.754318" elapsed="0.009398"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:39.764581" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:39.763919" elapsed="0.000792"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:39.766118" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:39.765231" elapsed="0.001137"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:39.764765" elapsed="0.001677"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:39.763871" elapsed="0.002616"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:39.766841" elapsed="0.000363"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:39.769049" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:39.767972" elapsed="0.001238">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:39.767632" elapsed="0.001734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:39.767333" elapsed="0.002165">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:39.753393" elapsed="0.016361">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:39.743131" elapsed="0.026858">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:41.773174" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:41.772278" elapsed="0.000976"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:41.774034" elapsed="0.000376"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:41.773442" elapsed="0.001048"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:41.773394" elapsed="0.001181"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:41.789799" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:41.790287" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:41.790760" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:41.780352" elapsed="0.010471"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:41.791988" elapsed="0.000067"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:41.791106" elapsed="0.001018"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:41.793707" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:41.792640" elapsed="0.001179"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:41.792182" elapsed="0.001725"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:41.791037" elapsed="0.002916"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:41.794268" elapsed="0.000370"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:41.797364" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:41.795614" elapsed="0.001954">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:41.795064" elapsed="0.002666">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:41.794772" elapsed="0.003110">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:41.779402" elapsed="0.018878">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:41.771211" elapsed="0.027268">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:43.801757" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:43.800772" elapsed="0.001067"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:43.802623" elapsed="0.000397"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:43.802055" elapsed="0.001044"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:43.802004" elapsed="0.001149"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:43.818168" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:43.818502" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:43.818733" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:43.808835" elapsed="0.009952"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:43.819540" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:43.818968" elapsed="0.000691"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:43.820916" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:43.820098" elapsed="0.000924"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:43.819710" elapsed="0.001382"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:43.818929" elapsed="0.002207"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:43.821439" elapsed="0.000345"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:43.823479" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:43.822456" elapsed="0.001215">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:43.822163" elapsed="0.001660">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:43.821921" elapsed="0.002049">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:43.807977" elapsed="0.016199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:43.799678" elapsed="0.024694">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:45.827697" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:45.826773" elapsed="0.001007"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:45.828580" elapsed="0.000407"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:45.828008" elapsed="0.001059"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:45.827955" elapsed="0.001167"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:45.846767" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:45.847141" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:45.847363" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:45.838172" elapsed="0.009248"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:45.848208" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:45.847619" elapsed="0.000708"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:45.849605" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:45.848770" elapsed="0.000943"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:45.848377" elapsed="0.001411"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:45.847576" elapsed="0.002256"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:45.850158" elapsed="0.000324"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:45.852237" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:45.851189" elapsed="0.001216">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:45.850891" elapsed="0.001696">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:45.850629" elapsed="0.002089">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:45.837263" elapsed="0.015782">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:45.825645" elapsed="0.027746">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:47.856199" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:47.855336" elapsed="0.000935"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:47.857075" elapsed="0.000376"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:47.856448" elapsed="0.001115"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:47.856402" elapsed="0.001219"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:47.872064" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:47.872367" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:47.872597" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:47.863601" elapsed="0.009053"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:47.873385" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:47.872814" elapsed="0.000689"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:47.874768" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:47.873968" elapsed="0.000929"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:47.873586" elapsed="0.001383"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:47.872774" elapsed="0.002238"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:47.875316" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:47.877366" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:47.876328" elapsed="0.001221">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:47.876037" elapsed="0.001667">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:47.875774" elapsed="0.002055">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:47.862416" elapsed="0.015732">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:47.854340" elapsed="0.024013">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:49.881763" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:49.880287" elapsed="0.001570"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:49.882579" elapsed="0.000395"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:49.882040" elapsed="0.001016"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:49.881993" elapsed="0.001118"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:49.897067" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:49.897389" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:49.897650" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:49.888720" elapsed="0.008990"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:49.898489" elapsed="0.000091"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:49.897903" elapsed="0.000748"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:49.899998" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:49.899132" elapsed="0.000982"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:49.898704" elapsed="0.001500"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:49.897833" elapsed="0.002421"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:49.900598" elapsed="0.000359"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:49.902789" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:49.901688" elapsed="0.001288">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:49.901348" elapsed="0.001786">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:49.901079" elapsed="0.002299">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:49.887866" elapsed="0.015771">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:49.879266" elapsed="0.024600">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:51.918389" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:51.916868" elapsed="0.001600"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:51.919920" elapsed="0.000393"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:51.919276" elapsed="0.001121"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:51.919219" elapsed="0.001235"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:51.937263" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:51.938285" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:51.938595" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:51.926593" elapsed="0.012063"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:51.939698" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:51.938921" elapsed="0.000907"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:51.941272" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:51.940318" elapsed="0.001061"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:51.939914" elapsed="0.001535"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:51.938855" elapsed="0.002637"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:51.941855" elapsed="0.000330"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:51.944639" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:51.942943" elapsed="0.001866">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:51.942597" elapsed="0.002528">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:51.942307" elapsed="0.002952">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:51.925645" elapsed="0.019837">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:51.915084" elapsed="0.030638">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:53.950763" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:53.949821" 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-09-26T23:16:53.951644" elapsed="0.000418"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:53.951073" elapsed="0.001070"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:53.951020" elapsed="0.001182"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:54.023004" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:54.023326" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:54.023587" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:54.013093" 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-09-26T23:16:54.024414" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:54.023815" elapsed="0.000686"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:54.025477" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:54.024852" elapsed="0.000716"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:54.024558" elapsed="0.001055"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:54.023766" elapsed="0.001874"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:54.025854" elapsed="0.000221"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:54.027759" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:54.027080" elapsed="0.001935">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:54.026866" elapsed="0.002506">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:54.026159" elapsed="0.003301">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:54.003073" elapsed="0.026564">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:53.948688" elapsed="0.081080">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:56.048415" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:56.046660" elapsed="0.001842"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:56.049333" elapsed="0.001597"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:56.048756" elapsed="0.002265"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:56.048702" elapsed="0.002381"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:56.067247" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:56.067780" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:56.068016" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:56.057202" elapsed="0.012128"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:56.070195" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:56.069545" elapsed="0.000776"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:56.071712" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:56.070782" elapsed="0.002367"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:56.070373" elapsed="0.002980"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:56.069474" elapsed="0.003927"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:56.073756" elapsed="0.000376"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:56.077172" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:56.074889" elapsed="0.002448">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:56.074543" elapsed="0.002949">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:56.074256" elapsed="0.003398">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:56.056269" elapsed="0.021621">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:56.044183" elapsed="0.033910">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:16:58.118735" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:16:58.117133" elapsed="0.002279"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:16:58.120274" elapsed="0.000410"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:58.119655" elapsed="0.001110"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:58.119602" elapsed="0.001217"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:16:58.131707" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:16:58.132061" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:16:58.134924" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:16:58.125380" elapsed="0.009621"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:16:58.136003" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:16:58.135237" elapsed="0.000895"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:16:58.137606" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:16:58.136613" elapsed="0.001105"/>
</kw>
<status status="PASS" start="2026-09-26T23:16:58.136186" elapsed="0.001604"/>
</branch>
<status status="PASS" start="2026-09-26T23:16:58.135179" elapsed="0.002678"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:16:58.138172" elapsed="0.000332"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:16:58.140324" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:16:58.139231" elapsed="0.001257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:16:58.138923" elapsed="0.001757">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:16:58.138654" elapsed="0.002155">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:16:58.124819" elapsed="0.016233">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:58.112957" elapsed="0.028332">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:00.173260" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:00.172247" elapsed="0.001091"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:00.175356" elapsed="0.000434"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:00.174170" elapsed="0.001731"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:00.173485" elapsed="0.002473"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:00.197003" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:00.198028" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:00.198323" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:00.183307" elapsed="0.015077"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:00.199332" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:00.198631" elapsed="0.000826"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:00.200859" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:00.199960" elapsed="0.001012"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:00.199512" elapsed="0.001532"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:00.198574" elapsed="0.002516"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:00.201401" elapsed="0.000357"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:00.203544" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:00.202453" elapsed="0.001254">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:00.202144" elapsed="0.001740">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:00.201897" elapsed="0.002116">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:00.182377" elapsed="0.021845">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:00.167263" elapsed="0.037162">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:02.208995" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:02.207915" elapsed="0.001169"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:02.209993" elapsed="0.000448"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:02.209313" elapsed="0.001251"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:02.209250" elapsed="0.001381"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:02.227308" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:02.227716" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:02.227950" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:02.217186" elapsed="0.010821"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:02.228819" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:02.228179" elapsed="0.000802"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:02.230580" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:02.229420" elapsed="0.001291"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:02.229040" elapsed="0.001754"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:02.228133" elapsed="0.002726"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:02.231179" elapsed="0.000367"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:02.233384" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:02.232276" elapsed="0.001361">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:02.231961" elapsed="0.001902">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:02.231676" elapsed="0.002328">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:02.216201" elapsed="0.018023">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:02.206669" elapsed="0.028029">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:04.239368" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:04.237375" elapsed="0.002081"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:04.240327" elapsed="0.000741"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:04.239713" elapsed="0.001445"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:04.239650" elapsed="0.001576"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:04.256266" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:04.256709" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:04.257000" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:04.247275" elapsed="0.009788"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:04.257951" elapsed="0.000063"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:04.257249" elapsed="0.000845"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:04.259509" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:04.258599" elapsed="0.001064"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:04.258153" elapsed="0.001589"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:04.257201" elapsed="0.002590"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:04.260163" elapsed="0.000396"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:04.262573" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:04.261346" elapsed="0.001420">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:04.261014" elapsed="0.001959">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:04.260701" elapsed="0.002419">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:04.246357" elapsed="0.017121">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:04.236094" elapsed="0.027645">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:06.267217" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:06.266173" elapsed="0.001132"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:06.268175" elapsed="0.000446"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:06.267549" elapsed="0.001158"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:06.267462" elapsed="0.001307"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:06.284068" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:06.284444" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:06.284695" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:06.275170" elapsed="0.009585"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:06.285580" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:06.284954" elapsed="0.000753"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:06.287067" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:06.286180" elapsed="0.001002"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:06.285763" elapsed="0.001494"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:06.284911" elapsed="0.002396"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:06.287667" elapsed="0.000373"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:06.289943" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:06.288791" elapsed="0.001331">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:06.288439" elapsed="0.001848">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:06.288169" elapsed="0.002386">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:06.274215" elapsed="0.016580">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:06.265009" elapsed="0.026024">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:08.295187" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:08.294206" elapsed="0.001064"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:08.296067" elapsed="0.000403"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:08.295482" elapsed="0.001098"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:08.295422" elapsed="0.001225"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:08.311777" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:08.312493" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:08.313107" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:08.302407" 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-09-26T23:17:08.314330" elapsed="0.000066"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:08.313455" elapsed="0.001010"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:08.316041" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:08.315034" elapsed="0.001120"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:08.314551" elapsed="0.001675"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:08.313380" elapsed="0.002891"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:08.316614" elapsed="0.000362"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:08.318810" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:08.317720" elapsed="0.001291">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:08.317361" elapsed="0.001922">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:08.317101" elapsed="0.002316">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:08.301558" elapsed="0.018114">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:08.293053" elapsed="0.026849">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:10.322901" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:10.322013" 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-09-26T23:17:10.323727" elapsed="0.000398"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:10.323168" elapsed="0.001037"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:10.323120" elapsed="0.001140"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:10.339494" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:10.339898" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:10.340100" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:10.329934" elapsed="0.010220"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:10.340919" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:10.340313" elapsed="0.000724"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:10.342338" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:10.341447" elapsed="0.000995"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:10.341089" elapsed="0.001421"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:10.340273" elapsed="0.002328"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:10.342928" elapsed="0.000323"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:10.345579" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:10.344010" elapsed="0.002013">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:10.343643" elapsed="0.002540">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:10.343364" elapsed="0.002944">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:10.329055" elapsed="0.017487">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:10.320982" elapsed="0.025759">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:12.350000" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:12.349087" 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-09-26T23:17:12.350848" elapsed="0.000402"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:12.350274" elapsed="0.001056"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:12.350222" elapsed="0.001170"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:12.366496" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:12.366972" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:12.367185" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:12.357219" elapsed="0.010020"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:12.368040" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:12.367401" elapsed="0.000759"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:12.369437" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:12.368613" elapsed="0.001087"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:12.368212" elapsed="0.001564"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:12.367360" elapsed="0.002462"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:12.370157" elapsed="0.000331"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:12.372346" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:12.371245" elapsed="0.001308">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:12.370936" elapsed="0.001783">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:12.370647" elapsed="0.002223">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:12.356341" elapsed="0.016752">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:12.347983" elapsed="0.025308">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:14.376662" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:14.375549" elapsed="0.001199"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:14.377590" elapsed="0.000434"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:14.376978" elapsed="0.001131"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:14.376925" elapsed="0.001241"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:14.394370" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:14.394729" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:14.395104" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:14.384657" elapsed="0.010507"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:14.396088" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:14.395335" elapsed="0.000885"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:14.397792" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:14.396944" elapsed="0.000996"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:14.396276" elapsed="0.001740"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:14.395292" elapsed="0.002772"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:14.398377" elapsed="0.000368"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:14.401680" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:14.399445" elapsed="0.002427">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:14.399142" elapsed="0.002889">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:14.398888" elapsed="0.003270">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:14.383721" elapsed="0.018645">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:14.374332" elapsed="0.028264">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:16.405718" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:16.404808" elapsed="0.000986"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:16.406560" elapsed="0.000407"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:16.406012" elapsed="0.001034"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:16.405961" elapsed="0.001142"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:16.422164" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:16.422553" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:16.422761" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:16.412760" elapsed="0.010055"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:16.423588" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:16.422999" elapsed="0.000708"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:16.424978" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:16.424145" elapsed="0.000938"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:16.423757" elapsed="0.001395"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:16.422959" elapsed="0.002239"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:16.425499" elapsed="0.000378"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:16.427637" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:16.426574" elapsed="0.001233">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:16.426251" elapsed="0.001733">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:16.425998" elapsed="0.002112">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:16.411902" elapsed="0.016415">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:16.403726" elapsed="0.024782">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:18.433907" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:18.431584" elapsed="0.002431"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:18.435074" elapsed="0.000585"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:18.434297" elapsed="0.001472"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:18.434218" elapsed="0.001665"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:18.453046" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:18.453441" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:18.453713" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:18.443064" 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-09-26T23:17:18.454564" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:18.453957" elapsed="0.000732"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:18.455989" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:18.455131" elapsed="0.000964"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:18.454741" elapsed="0.001426"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:18.453914" elapsed="0.002297"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:18.456554" elapsed="0.000367"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:18.458762" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:18.457657" elapsed="0.001299">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:18.457314" elapsed="0.001800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:18.457047" elapsed="0.002195">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:18.442065" elapsed="0.017387">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:18.430054" elapsed="0.029720">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:20.463058" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:20.462104" 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-09-26T23:17:20.463935" elapsed="0.000399"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:20.463327" elapsed="0.001093"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:20.463280" elapsed="0.001199"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:20.479556" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:20.479891" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:20.480098" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:20.470609" elapsed="0.009543"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:20.480921" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:20.480314" elapsed="0.000727"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:20.482300" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:20.481466" elapsed="0.000939"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:20.481092" elapsed="0.001383"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:20.480274" elapsed="0.002280"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:20.482897" elapsed="0.000323"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:20.485099" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:20.483935" elapsed="0.001319">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:20.483604" elapsed="0.001799">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:20.483332" elapsed="0.002226">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:20.469642" elapsed="0.016255">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:20.461019" elapsed="0.025084">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:22.489925" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:22.489030" 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-09-26T23:17:22.490887" elapsed="0.000393"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:22.490192" elapsed="0.001171"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:22.490145" elapsed="0.001273"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:22.506599" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:22.506933" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:22.507161" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:22.497464" elapsed="0.009753"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:22.507995" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:22.507378" elapsed="0.000735"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:22.509367" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:22.508553" elapsed="0.000921"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:22.508164" elapsed="0.001413"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:22.507338" elapsed="0.002286"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:22.509970" elapsed="0.000325"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:22.512230" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:22.511110" elapsed="0.001278">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:22.510705" elapsed="0.001868">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:22.510408" elapsed="0.002452">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:22.496564" elapsed="0.016517">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:22.488060" elapsed="0.025221">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:24.516839" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:24.515878" elapsed="0.001046"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:24.517708" elapsed="0.000430"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:24.517133" elapsed="0.001087"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:24.517077" elapsed="0.001205"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:24.533251" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:24.533630" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:24.533864" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:24.524059" elapsed="0.009861"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:24.534687" elapsed="0.000067"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:24.534088" elapsed="0.000756"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:24.536149" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:24.535282" elapsed="0.000975"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:24.534897" elapsed="0.001431"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:24.534046" elapsed="0.002326"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:24.536713" elapsed="0.000360"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:24.539599" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:24.537952" elapsed="0.001817">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:24.537441" elapsed="0.002598">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:24.537192" elapsed="0.002979">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:24.523167" elapsed="0.017213">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:24.514628" elapsed="0.025984">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:26.542393" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:26.541956" elapsed="0.000487"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:26.542863" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:26.542578" elapsed="0.000506"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:26.542547" elapsed="0.000566"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:26.554062" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:26.554228" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:26.554323" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:26.545695" elapsed="0.008653"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:26.554708" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:26.554423" elapsed="0.000339"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:26.555340" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:26.554974" elapsed="0.000415"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:26.554785" elapsed="0.000635"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:26.554404" elapsed="0.001036"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:26.555596" elapsed="0.000152"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:26.556578" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:26.556074" elapsed="0.000689">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:26.555939" elapsed="0.000939">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:26.555804" elapsed="0.001159">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:26.545296" elapsed="0.011802">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:26.541351" elapsed="0.015866">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:28.560410" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:28.559469" 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-09-26T23:17:28.561304" elapsed="0.000419"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:28.560731" elapsed="0.001070"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:28.560676" elapsed="0.001211"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:28.580067" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:28.580432" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:28.580699" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:28.571180" elapsed="0.009577"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:28.581578" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:28.580956" elapsed="0.000743"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:28.583002" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:28.582137" elapsed="0.001061"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:28.581750" elapsed="0.001519"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:28.580908" elapsed="0.002406"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:28.583651" elapsed="0.000352"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:28.585793" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:28.584711" elapsed="0.001276">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:28.584376" elapsed="0.001765">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:28.584123" elapsed="0.002147">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:28.570288" elapsed="0.016208">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:28.558353" elapsed="0.028385">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:30.589967" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:30.589041" elapsed="0.001005"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:30.590795" elapsed="0.000405"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:30.590241" elapsed="0.001038"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:30.590188" elapsed="0.001147"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:30.605914" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:30.606272" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:30.606611" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:30.597044" elapsed="0.009625"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:30.607419" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:30.606855" elapsed="0.000714"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:30.608868" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:30.608011" elapsed="0.000965"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:30.607622" elapsed="0.001422"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:30.606791" elapsed="0.002297"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:30.609392" elapsed="0.000353"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:30.611496" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:30.610434" elapsed="0.001268">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:30.610138" elapsed="0.001744">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:30.609886" elapsed="0.002127">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:30.596159" elapsed="0.016065">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:30.587956" elapsed="0.024466">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:32.616472" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:32.614879" elapsed="0.001700"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:32.617353" elapsed="0.000442"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:32.616780" elapsed="0.001121"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:32.616726" elapsed="0.001237"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:32.633341" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:32.633788" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:32.634132" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:32.624125" elapsed="0.010073"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:32.635256" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:32.634438" elapsed="0.000954"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:32.636920" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:32.635928" elapsed="0.001108"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:32.635450" elapsed="0.001662"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:32.634376" elapsed="0.002786"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:32.637495" elapsed="0.000402"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:32.639835" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:32.638674" elapsed="0.001336">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:32.638302" elapsed="0.001910">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:32.638029" elapsed="0.002354">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:32.623154" elapsed="0.017555">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:32.613803" elapsed="0.027204">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:34.644447" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:34.643470" elapsed="0.001087"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:34.645348" elapsed="0.000437"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:34.644774" elapsed="0.001117"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:34.644714" elapsed="0.001242"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:34.661030" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:34.661390" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:34.661627" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:34.651923" elapsed="0.009762"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:34.662443" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:34.661881" elapsed="0.000713"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:34.664103" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:34.663236" elapsed="0.000973"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:34.662646" elapsed="0.001634"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:34.661806" elapsed="0.002519"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:34.664669" elapsed="0.000365"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:34.666952" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:34.665763" elapsed="0.001374">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:34.665427" elapsed="0.001873">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:34.665159" elapsed="0.002276">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:34.651022" elapsed="0.016667">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:34.642296" elapsed="0.025718">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:36.672459" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:36.671453" elapsed="0.001124"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:36.673407" elapsed="0.000469"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:36.672849" elapsed="0.001111"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:36.672764" elapsed="0.001261"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:36.689076" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:36.689464" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:36.689731" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:36.679965" elapsed="0.009822"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:36.690575" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:36.689976" elapsed="0.000723"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:36.692254" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:36.691248" elapsed="0.001114"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:36.690752" elapsed="0.001684"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:36.689935" elapsed="0.002547"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:36.692878" elapsed="0.000349"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:36.695110" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:36.693978" elapsed="0.001311">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:36.693651" elapsed="0.001797">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:36.693353" elapsed="0.002260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:36.679070" elapsed="0.016890">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:36.670230" elapsed="0.025930">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:38.698678" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:38.698075" elapsed="0.000669"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:38.699213" elapsed="0.000209"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:38.698909" elapsed="0.000552"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:38.698864" elapsed="0.000634"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:38.709762" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:38.710012" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:38.710129" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:38.702668" elapsed="0.007492"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:38.710565" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:38.710246" elapsed="0.000381"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:38.711254" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:38.710849" elapsed="0.000458"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:38.710651" elapsed="0.000689"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:38.710223" elapsed="0.001138"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:38.711506" elapsed="0.000209"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:38.713154" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:38.712087" elapsed="0.001172">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:38.711934" elapsed="0.001409">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:38.711783" elapsed="0.001694">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:38.702251" elapsed="0.011358">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:38.697173" elapsed="0.016526">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:40.717201" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:40.716201" elapsed="0.001084"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:40.718120" elapsed="0.000433"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:40.717512" elapsed="0.001124"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:40.717449" elapsed="0.001255"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:40.736733" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:40.737254" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:40.737482" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:40.726054" elapsed="0.011520"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:40.738393" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:40.737747" elapsed="0.000811"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:40.739974" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:40.739026" elapsed="0.001059"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:40.738616" elapsed="0.001540"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:40.737703" elapsed="0.002500"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:40.740565" elapsed="0.000412"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:40.743016" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:40.741842" elapsed="0.001368">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:40.741414" elapsed="0.002070">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:40.741113" elapsed="0.002546">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:40.724839" elapsed="0.019088">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:40.714956" elapsed="0.029242">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-26T23:17:42.747958" 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>Creates and returns a list containing the given items.</doc>
<status status="PASS" start="2026-09-26T23:17:42.746953" elapsed="0.001094"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given `values` from `list`.</doc>
<status status="PASS" start="2026-09-26T23:17:42.748885" elapsed="0.000411"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:42.748276" elapsed="0.001100"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:42.748213" elapsed="0.001228"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:42.765109" level="INFO">GET Request : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bf5elbkn8r172lkptck363tn5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:42.765604" level="INFO">GET Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-26T23:17:42.765904" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:42.755960" elapsed="0.010019"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-26T23:17:42.767044" elapsed="0.000073"/>
</kw>
<status status="NOT RUN" start="2026-09-26T23:17:42.766200" elapsed="0.001018"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:42.769108" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:42.767959" elapsed="0.001300"/>
</kw>
<status status="PASS" start="2026-09-26T23:17:42.767302" elapsed="0.002057"/>
</branch>
<status status="PASS" start="2026-09-26T23:17:42.766145" elapsed="0.003284"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-26T23:17:42.769908" elapsed="0.000370"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:42.772564" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:42.771210" elapsed="0.001748">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-26T23:17:42.770763" elapsed="0.002396">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-26T23:17:42.770407" elapsed="0.002933">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-26T23:17:42.755064" elapsed="0.018565">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:42.745504" elapsed="0.028420">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<msg time="2026-09-26T23:17:42.774216" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-09-26T23:16:11.367844" elapsed="91.406699">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-26T23:17:42.775082" elapsed="0.000052"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:42.777319" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-26T23:17:43.102967" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:17:43.103465" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:17:43.103600" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:17:43.103693" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:42.776926" elapsed="0.326819"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:43.105343" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:43.104477" elapsed="0.000961"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:43.106323" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-26T23:17:43.447658" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:17:43.448127" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:17:43.448222" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:17:43.448464" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:43.105945" elapsed="0.342603"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:43.449745" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-26T23:17:43.518453" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:43.519002" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-26T23:17:43.519099" level="INFO">${stderr} = </msg>
<msg time="2026-09-26T23:17:43.519185" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:43.449226" elapsed="0.070010"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:43.520207" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-26T23:17:43.565874" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:43.519903" elapsed="0.046111"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:43.580266" level="INFO">DELETE Request : url=http://10.30.171.168: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=node0bf5elbkn8r172lkptck363tn5.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:43.580370" level="INFO">DELETE Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:43.580606" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:43.566345" elapsed="0.014324"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:43.588086" level="INFO">DELETE Request : url=http://10.30.171.168: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=node0bf5elbkn8r172lkptck363tn5.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:43.588432" level="INFO">DELETE Response : url=http://10.30.171.168:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-26T23:17:43.588680" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:43.581023" elapsed="0.007714"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-26T23:17:42.776004" elapsed="0.812914"/>
</kw>
<doc>A Rogue Device will fail to callhome and wont be able to mount because the keys are not added in whitelist.
FAILED_NOT_ALLOWED should be the device status.</doc>
<status status="FAIL" start="2026-09-26T23:16:10.705273" elapsed="92.883758">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5IykLS4LxfuTkHE9+SXkunT6gDOWBcO99/s1/MklFkn17lCzPG6V1gNNytW7567cNVGXuBiWyqjzdsvSstIlMYhKHuC3dfz0f4fUvReOQTcUS2BZRdULsxXfLuL1FcvnGF+X8p44g4RfkTSkKGF67dAKe4S+1+wuxBWGTycNc2Q8A1nfWeweTWNmLhQj13pxnxXVEtIjAjvFrXxbe9FV/IqjmmWVdNueWXQb2E+9fISE4lmu2tKvWg3VvYIcjf77a3qpsVr+lMM7ivrt31eQVNqlwClr/igXsTdONKDdoAmZ2zmtmtmqTNBKocITSx9m80dwL24a9GezuQvLOCFb","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</test>
<test id="s1-s1-t7" name="CallHome over TLS with correct certificate and key" line="131">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:43.592632" level="INFO">Creating Session using : alias=session, url=http://10.30.171.168:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7e2a7840a710&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-26T23:17:43.592101" elapsed="0.000870"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:43.593590" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-26T23:17:43.613468" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:43.593361" elapsed="0.020259"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:43.614221" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-26T23:17:43.844233" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:43.614024" elapsed="0.230531"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:43.845547" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-26T23:17:43.894227" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:43.894664" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDT4gLUu4nqfPvj1mIh6f/Ksm0AXNJKos7bzf3dHJzaen5D/YN0SoFS7JRZDk1yVR2U5C0U0pBkWT25otXzxntQlowcuwnw64PIgP6AUg3UpEJeJz3a6nwwbeO/1cKxcg2fLca1NOGKoa+VdBh/hMbbHIh/1VcqV3KW4+aMhp/n...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:43.845195" elapsed="0.049532"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-26T23:17:43.899867" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDT4gLUu4nqfPvj1mIh6f/Ksm0AXNJKos7bzf3dHJzaen5D/YN0SoFS7JRZDk1yVR2U5C0U0pBkWT25otXzxntQlowcuwnw64PIgP6AUg3UpEJeJz3a6nwwbeO/1cKxcg2fLca1NOGKoa+VdBh/hMbbHIh/1VcqV3KW4+aMhp/n...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes the variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-26T23:17:43.895318" elapsed="0.004656"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-26T23:17:43.591381" elapsed="0.308735"/>
</kw>
<kw name="Apply TLS-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Generate certificates for TLS configuration" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:43.902337" level="INFO">Executing command 'rm -rf ./certs &amp;&amp; mkdir ./certs'.</msg>
<msg time="2026-09-26T23:17:43.941800" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:43.942011" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>rm -rf ./certs &amp;&amp; mkdir ./certs</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:43.902101" elapsed="0.039960"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:17:43.993747" 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-09-26T23:17:43.942447" elapsed="0.051630"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:43.995347" level="INFO">Executing command 'openssl genrsa -out ./certs/ca.key 2048'.</msg>
<msg time="2026-09-26T23:17:44.251490" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:44.251869" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl genrsa -out ./certs/ca.key 2048</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:43.994943" elapsed="0.256984"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:44.252875" level="INFO">Executing command 'openssl req -x509 -new -extensions v3_ca -nodes -key ./certs/ca.key -sha256 -days 365 -subj "/C=US/ST=CA/L=Netopeer/O=netopeerCA/CN=netopeerCA" -out ./certs/ca.pem'.</msg>
<msg time="2026-09-26T23:17:44.315974" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:44.316181" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl req -x509 -new -extensions v3_ca -nodes -key ./certs/ca.key -sha256 -days 365 -subj "/C=US/ST=CA/L=Netopeer/O=netopeerCA/CN=netopeerCA" -out ./certs/ca.pem</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:44.252485" elapsed="0.063768"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:44.317025" level="INFO">Executing command 'openssl genrsa -out ./certs/server.key 2048'.</msg>
<msg time="2026-09-26T23:17:44.541690" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:44.542124" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl genrsa -out ./certs/server.key 2048</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:44.316687" elapsed="0.225495"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:44.543155" level="INFO">Executing command 'openssl req -new -sha256 -key ./certs/server.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-server" -out ./certs/server.csr'.</msg>
<msg time="2026-09-26T23:17:44.599749" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:44.599976" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl req -new -sha256 -key ./certs/server.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-server" -out ./certs/server.csr</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:44.542822" elapsed="0.057206"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:44.600737" level="INFO">Executing command 'openssl x509 -req -in ./certs/server.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/server.crt -days 365 -sha256'.</msg>
<msg time="2026-09-26T23:17:44.659633" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:44.659856" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl x509 -req -in ./certs/server.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/server.crt -days 365 -sha256</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:44.600470" elapsed="0.059440"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:44.660503" level="INFO">Executing command 'openssl rsa -in ./certs/server.key -pubout &gt; ./certs/server.pub'.</msg>
<msg time="2026-09-26T23:17:44.723798" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:44.724037" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl rsa -in ./certs/server.key -pubout &gt; ./certs/server.pub</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:44.660300" elapsed="0.063789"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:44.724968" level="INFO">Executing command 'openssl genrsa -out ./certs/client.key 2048'.</msg>
<msg time="2026-09-26T23:17:44.931169" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:44.931386" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl genrsa -out ./certs/client.key 2048</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:44.724635" elapsed="0.206803"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:44.932149" level="INFO">Executing command 'openssl req -new -sha256 -key ./certs/client.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-client" -out ./certs/client.csr'.</msg>
<msg time="2026-09-26T23:17:44.991695" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:44.991953" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl req -new -sha256 -key ./certs/client.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-client" -out ./certs/client.csr</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:44.931913" elapsed="0.060104"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:44.992723" level="INFO">Executing command 'openssl x509 -req -in ./certs/client.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/client.crt -days 1024 -sha256'.</msg>
<msg time="2026-09-26T23:17:45.051474" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:45.051738" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl x509 -req -in ./certs/client.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/client.crt -days 1024 -sha256</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:44.992458" elapsed="0.059378"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:45.052676" level="INFO">Executing command 'mv ./certs ./configuration-files/certs'.</msg>
<msg time="2026-09-26T23:17:45.105763" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:45.105980" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>mv ./certs ./configuration-files/certs</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:45.052418" elapsed="0.053613"/>
</kw>
<doc>Generates certificates for 2-way TLS authentication (ca, server, client)</doc>
<status status="PASS" start="2026-09-26T23:17:43.901387" elapsed="1.204794"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:17:45.153730" 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-09-26T23:17:45.106567" elapsed="0.047313"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:17:45.162706" 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-09-26T23:17:45.154249" elapsed="0.008624"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-26T23:17:45.171500" 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-09-26T23:17:45.163237" elapsed="0.008431"/>
</kw>
<doc>Upload netopeer2 configuration files needed for TLS transport</doc>
<status status="PASS" start="2026-09-26T23:17:43.900598" elapsed="1.271236"/>
</kw>
<kw name="Register keys and certificates in ODL controller" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:45.173722" level="INFO">Executing command 'cat ./configuration-files/certs/client.key'.</msg>
<msg time="2026-09-26T23:17:45.186346" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:45.186624" level="INFO">${pem-client-key} = -----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCyES98E8jZRHnp
z6geheHmWrp1enAIN/FnfD4K01xovZTy/QILTVOO3m5QEOxB255A4+YpXX2+rE78
WMFUiwUMpbhc6fyiHZdBaCTWgegM3n/pNFBMkr0L4d...</msg>
<msg time="2026-09-26T23:17:45.186743" level="INFO">${stderr} = </msg>
<var>${pem-client-key}</var>
<var>${stderr}</var>
<arg>cat ./configuration-files/certs/client.key</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:45.173343" elapsed="0.013453"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-26T23:17:45.187463" 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-09-26T23:17:45.187846" level="INFO">${template} = {
    "input": {
        "key-credential": [
            {
                "key-id": "tls-device-key",
                "private-key": "{pem-client-key}",
                "passphrase": ""
            }...</msg>
<var>${template}</var>
<arg>${ADD_KEYSTORE_ENTRY_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-26T23:17:45.187174" elapsed="0.000735"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-26T23:17:45.188770" level="INFO">${body} = {
    "input": {
        "key-credential": [
            {
                "key-id": "tls-device-key",
                "private-key": "-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwg...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{pem-client-key}</arg>
<arg>${pem-client-key}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="PASS" start="2026-09-26T23:17:45.188275" elapsed="0.000600"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:45.239716" level="INFO">POST Request : url=http://10.30.171.168: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-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCyES98E8jZRHnp
z6geheHmWrp1enAIN/FnfD4K01xovZTy/QILTVOO3m5QEOxB255A4+YpXX2+rE78
WMFUiwUMpbhc6fyiHZdBaCTWgegM3n/pNFBMkr0L4dQih/fXWZpzc2JYyqlIxGZS
alYZDCICVvaDtexE+WID6YN30oC+mpX2X+iLlNMs1PkH9sHuLQ5Vyu1eeTiZxW1L
lX/JTpt4yR2YmzbstsJAEmlRJsOA8sxvp95dISzZRRUzJHeG9J6e442pfkEeANE0
eXNkEM8iAORrY0bDWff08wuOCfU9sG0DAClskzofVYL8g/ls0wf6Pek12Uuhev+x
NSB1Psg9AgMBAAECggEATkKuV36Mii0F1eSd05htAeSDSamfvoTz1NMuo2xkk2Yr
JiZbtSLto/+PhSIC7Cj9YzCmkiyUXO53IoJRqfoVpIrbPf7auVd/CFCgzCQ5HBrY
JeMHnbfqXWQJ64lNvLiVYMNoCHU9tI0ZGYTBxW1nLxcQbi/RITlnwidp0ApU6i/k
F6I0Qm0dgbXrOwtHy+idVqQC8AAHmZjoX0PNsS5HpxJOoK2tMzajpu0Qk2CL0QMa
yOaLvp6GosGV7kOPHiuKMdIdWB6IPp5ICc7RqS5dHMb7UcfLIF+lZbUGn1CruXMK
H1Pn1aFePA3aJNWQHuCCWKekaKutYZ8dIwrc2f/ScwKBgQDa+8pFlv+zl0aIsuWv
oET4S9Q8ZWemmcya6Q4Yim0a1OtICB6q3rTWcczA1+c1bKug0j+c9Z/CPOsJuFhW
KMIjqnx1PnYck4lz0xN5FnCSNkJKjQhJzrspq4tpBd+RflFxoDXRD5IUnybASVVF
Z2PhortuYy8bpZ1QTM8rilOd4wKBgQDQKss2lKu8C/cDZjGCTER/1AeAfEHmvVTD
FBsUPhXtwKr3sHQInSfuV7c3tccQ0YAKczEQupBr1tYDyL99DXRZWwcJ9uVaRVLF
s0hywnuNCe08CaNXE5HYUEDph3TWiFOUCiXJM92Oc/4EnoDLvSclzFgvwzixsJvF
VbTr4CLbXwKBgBEzjiQBRHy6+VNrmhc9o61NZ5KG9Kllk2jnva+3z/I3n3O9D4uk
itf9gHP1gbf0nVa4rT6LHM2JM31D+cxqzzU2AyjCi0ybWkS64+CzHoydrn9krK3/
izwuuXi6eWFYZtViHFgbvQHZrpWULRqSkIn82nRFXkHxtHXGUs+8wey5AoGAOD/o
C4ae5UBibfO2WxwawmPb5xcsg5oThmcvbgfcyxLt3+I5aH525MulAZPIB75kl+5K
iteu4MT7ragYPkVddCvJuiKSFRN4a12nrQLqedD93uRH0+bA2S/OaowkwTezReR8
E2NFchHbyQm/ic5B/s+54KYi8rjjTq57JeW55YcCgYEAuNT24CqGXcRi0q8kD/Xo
vJdxflozkyhlo8SbqgjlClnGc17vSF0ZsQl9eSxIwfDe6kUSgppOB2g9+xguvJQg
nsJI3f7aGXBTXe8WMgSrSdOf8AkrkFhzJItlsZAm9r8QzFimFTMRoNU05+yne16c
fQNWurfL6iPSwSO6TxxqLJk=
-----END PRIVATE KEY-----",
                "passphrase": ""
            }
        ]
    }
}
 
 </msg>
<msg time="2026-09-26T23:17:45.240096" level="INFO">POST Response : url=http://10.30.171.168:8181/rests/operations/netconf-keystore:add-keystore-entry 
 status=500, reason=Internal Server Error 
 headers={'Set-Cookie': 'JSESSIONID=node01b2xx6g29jqpwx00tam9k7t4u6.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 25-Sep-2026 23:17:45 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Type': 'application/yang-data+json', 'Content-Length': '302'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "operation-failed",
        "error-info": "Unhandled private key class org.bouncycastle.asn1.pkcs.PrivateKeyInfo",
        "error-message": "Failed to decode private key tls-device-key",
        "error-type": "application"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-26T23:17:45.240434" level="INFO">${resp} = &lt;Response [500]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-keystore-entry</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:45.189219" elapsed="0.051271"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-26T23:17:45.242091" level="FAIL">'[200, 201, 204]' does not contain '500'</msg>
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="FAIL" start="2026-09-26T23:17:45.240947" elapsed="0.001321">'[200, 201, 204]' does not contain '500'</status>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${client-key}</var>
<arg>client.key</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.242728" elapsed="0.000057"/>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${certificate-chain}</var>
<arg>client.crt</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.243140" elapsed="0.000053"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<var>${template}</var>
<arg>${ADD_PRIVATE_KEY_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.243549" elapsed="0.000049"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${template}</arg>
<arg>{client-key}</arg>
<arg>${client-key}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.243950" elapsed="0.000044"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${body}</arg>
<arg>{certificate-chain}</arg>
<arg>${certificate-chain}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.244339" elapsed="0.000045"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-private-key</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.244725" elapsed="0.000044"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.245130" elapsed="0.000042"/>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${ca-certificate}</var>
<arg>ca.pem</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.245560" elapsed="0.000053"/>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${device-certificate}</var>
<arg>server.crt</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.245961" elapsed="0.000487"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<var>${template}</var>
<arg>${ADD_TRUSTED_CERTIFICATE}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.246837" elapsed="0.000047"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${template}</arg>
<arg>{ca-certificate}</arg>
<arg>${ca-certificate}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.247213" elapsed="0.000042"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${body}</arg>
<arg>{device-certificate}</arg>
<arg>${device-certificate}</arg>
<doc>Replaces `search_for` in the given `string` with `replace_with`.</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.247631" elapsed="0.000047"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-trusted-certificate</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.247994" elapsed="0.000044"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if the `container` does not contain the `item` one or more times.</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.248369" elapsed="0.000050"/>
</kw>
<doc>Register pre-configured netopeer2 certificates and key in ODL-netconf keystore</doc>
<status status="FAIL" start="2026-09-26T23:17:45.172498" elapsed="0.076178">'[200, 201, 204]' does not contain '500'</status>
</kw>
<kw name="Register TLS call-home device in ODL controller" owner="NetconfCallHome">
<arg>netopeer2</arg>
<arg>tls-device-key</arg>
<arg>tls-device-certificate</arg>
<doc>Registration call-home device with TLS transport</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.249080" elapsed="0.000054"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.249569" elapsed="0.000051"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>CONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.250066" elapsed="0.000046"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-26T23:17:45.250493" elapsed="0.000095"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:45.252423" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-26T23:17:45.568957" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:17:45.569242" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:17:45.569329" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:17:45.569413" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:45.252068" elapsed="0.317391"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-26T23:17:45.570667" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-26T23:17:45.570049" elapsed="0.000707"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:45.571565" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-26T23:17:45.916949" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-26T23:17:45.917205" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:17:45.917294" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-26T23:17:45.917506" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:45.571187" elapsed="0.346418"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:45.918431" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-26T23:17:45.982077" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:45.982335" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-26T23:17:45.982425" level="INFO">${stderr} = </msg>
<msg time="2026-09-26T23:17:45.982505" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:45.918065" elapsed="0.064534"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:45.983275" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-26T23:17:46.029302" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:45.983047" elapsed="0.046351"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:46.036891" level="INFO">DELETE Request : url=http://10.30.171.168: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=node01b2xx6g29jqpwx00tam9k7t4u6.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:46.037106" level="INFO">DELETE Response : url=http://10.30.171.168:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '270'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-26T23:17:46.037240" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:46.029646" elapsed="0.007639"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:46.044702" level="INFO">DELETE Request : url=http://10.30.171.168: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=node01b2xx6g29jqpwx00tam9k7t4u6.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-26T23:17:46.044900" level="INFO">DELETE Response : url=http://10.30.171.168:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-26T23:17:46.045040" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-26T23:17:46.037490" elapsed="0.007586"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-26T23:17:45.251247" elapsed="0.793932"/>
</kw>
<doc>Using correct certificate and key pair should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-09-26T23:17:43.589916" elapsed="2.455340">'[200, 201, 204]' does not contain '500'</status>
</test>
<kw name="Suite Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Uninstall Docker Compose on tools system" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-26T23:17:46.048237" level="INFO">Executing command 'pip uninstall docker-compose'.</msg>
<msg time="2026-09-26T23:17:46.907400" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-26T23:17:46.907885" level="INFO">${stdout} = </msg>
<msg time="2026-09-26T23:17:46.907998" level="INFO">${stderr} = WARNING: Skipping docker-compose as it is not installed.</msg>
<msg time="2026-09-26T23:17:46.908129" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>pip uninstall docker-compose</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-26T23:17:46.047980" elapsed="0.860201"/>
</kw>
<doc>Uninstall docker-compose on tools system</doc>
<status status="PASS" start="2026-09-26T23:17:46.047636" elapsed="0.860744"/>
</kw>
<kw name="Delete All Sessions" owner="RequestsLibrary">
<msg time="2026-09-26T23:17:46.909036" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects </doc>
<status status="PASS" start="2026-09-26T23:17:46.908778" elapsed="0.001528"/>
</kw>
<kw name="Close All Connections" owner="SSHLibrary">
<doc>Closes all open connections.</doc>
<status status="PASS" start="2026-09-26T23:17:46.910646" elapsed="0.001713"/>
</kw>
<doc>Tearing down the setup.</doc>
<status status="PASS" start="2026-09-26T23:17:46.047265" elapsed="0.865247"/>
</kw>
<doc>Test suite to verify callhome functionality over SSH transport protocol. Registration in OpenDaylight
Controller happens via restconf interface. Netopeer2-server docker container plays a role of the
netconf device with call-home feature. Docker-compose file is used to configure netopeer2 docker
container(netconf configuration templates, host-key).</doc>
<status status="FAIL" start="2026-09-26T23:09:45.555163" elapsed="481.357522"/>
</suite>
<status status="FAIL" start="2026-09-26T23:09:45.510547" elapsed="481.405482"/>
</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>
