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

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

 System information as of Sat Aug 15 23:43:30 UTC 2026

  System load:  0.25               Processes:             107
  Usage of /:   20.6% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.170.123
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

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


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


[?2004h[jenkins@releng-50633-54-1-docker-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-08-15T23:44:04.962760" elapsed="0.391830"/>
</kw>
<msg time="2026-08-15T23:44:05.354703" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-15T23:44:04.962355" elapsed="0.392469"/>
</kw>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-08-15T23:44:04.960594" elapsed="0.394366"/>
</kw>
<msg time="2026-08-15T23:44:05.355016" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Flexible SSH Login</arg>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-15T23:44:04.960112" elapsed="0.394959"/>
</kw>
<doc>Call Flexible SSH Login, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-08-15T23:44:04.959534" elapsed="0.395626"/>
</kw>
<return>
<value>${tools_connection}</value>
<status status="PASS" start="2026-08-15T23:44:05.355230" elapsed="0.000064"/>
</return>
<msg time="2026-08-15T23:44:05.355491" level="INFO">${netopeer_conn_id} = 1</msg>
<var>${netopeer_conn_id}</var>
<doc>Open a connection to the tools system at ${ip_address} and return its identifier.</doc>
<status status="PASS" start="2026-08-15T23:44:04.958165" elapsed="0.397354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-15T23:44:05.356237" level="INFO">${netopeer_conn_id} = 1</msg>
<arg>${netopeer_conn_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-15T23:44:05.355772" elapsed="0.000510"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-15T23:44:05.358848" level="INFO">sudo curl -L "https://github.com/docker/compose/releases/download/1.11.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose</msg>
<arg>sudo curl -L "https://github.com/docker/compose/releases/download/1.11.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-08-15T23:44:05.356419" elapsed="0.002488"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Read Until Prompt" owner="SSHLibrary">
<msg time="2026-08-15T23:44:06.224728" level="INFO">[?2004l  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0100 8053k  100 8053k    0     0  9710k      0 --:--:-- --:--:-- --:--:-- 18.9M
[?2004h[jenkins@releng-50633-54-1-docker-0 ~]&gt;</msg>
<doc>Consumes and returns the server output until the prompt is found.</doc>
<status status="PASS" start="2026-08-15T23:44:05.360047" elapsed="0.864977"/>
</kw>
<msg time="2026-08-15T23:44:06.225262" level="INFO">${output} = [?2004l  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     ...</msg>
<var>${output}</var>
<arg>30s</arg>
<arg>2s</arg>
<arg>SSHLibrary.Read_Until_Prompt</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-08-15T23:44:05.359544" elapsed="0.865764"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:44:06.226046" level="INFO">Executing command 'sudo chmod +x /usr/local/bin/docker-compose'.</msg>
<msg time="2026-08-15T23:44:06.248088" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:44:06.248373" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:44:06.248474" level="INFO">${stderr} = </msg>
<msg time="2026-08-15T23:44:06.248570" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>sudo chmod +x /usr/local/bin/docker-compose</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:44:06.225640" elapsed="0.022980"/>
</kw>
<doc>Install docker-compose on tools system.</doc>
<status status="PASS" start="2026-08-15T23:44:04.954650" elapsed="1.294365"/>
</kw>
<kw name="Pull Netopeer2 Docker Image" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:44:06.250339" level="INFO">Executing command 'docker pull sysrepo/sysrepo-netopeer2:latest'.</msg>
<msg time="2026-08-15T23:44:14.138267" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:44:14.138692" level="INFO">${stdout} = latest: Pulling from sysrepo/sysrepo-netopeer2
399fb1102f3f: Pulling fs layer
d51af753c3d3: Pulling fs layer
fc878cd0a91c: Pulling fs layer
6154df8ff988: Pulling fs layer
fee5db0ff82f: Pulling fs laye...</msg>
<msg time="2026-08-15T23:44:14.138843" level="INFO">${stderr} = </msg>
<msg time="2026-08-15T23:44:14.138936" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker pull sysrepo/sysrepo-netopeer2:latest</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:44:06.249961" elapsed="7.889028"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:44:14.139979" level="INFO">Executing command 'docker images'.</msg>
<msg time="2026-08-15T23:44:14.244111" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:44:14.244380" level="INFO">${stdout} = IMAGE                              ID             DISK USAGE   CONTENT SIZE   EXTRA
sysrepo/sysrepo-netopeer2:latest   36cc1d841c97        914MB          232MB        </msg>
<msg time="2026-08-15T23:44:14.244482" level="INFO">${stderr} = </msg>
<msg time="2026-08-15T23:44:14.244571" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker images</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:44:14.139490" elapsed="0.105133"/>
</kw>
<doc>Pulls the netopeer image from the docker repository.</doc>
<status status="PASS" start="2026-08-15T23:44:06.249429" elapsed="7.995454"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:44:14.292764" level="INFO">[chan 4] Opened sftp connection (server version 3)</msg>
<msg time="2026-08-15T23:44:14.301280" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/docker-compose.yaml' -&gt; '/home/jenkins//docker-compose.yaml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/docker-compose.yaml</arg>
<arg>.</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:44:14.245204" elapsed="0.056160"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:44:14.307266" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/init_configuration.sh' -&gt; '/home/jenkins//init_configuration.sh'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/init_configuration.sh</arg>
<arg>.</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:44:14.301568" elapsed="0.005778"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:44:14.307782" level="INFO">Executing command 'sed -i -e 's/ODL_SYSTEM_IP/10.30.171.145/g' docker-compose.yaml'.</msg>
<msg time="2026-08-15T23:44:14.319758" level="INFO">Command exited with return code 0.</msg>
<arg>sed -i -e 's/ODL_SYSTEM_IP/${ODL_SYSTEM_IP}/g' docker-compose.yaml</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:44:14.307545" elapsed="0.012297"/>
</kw>
<kw name="Set_Variable_If_At_Least_Sulfur" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set_Variable_If_At_Least" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set Variable If" owner="BuiltIn">
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-15T23:44:14.339075" elapsed="0.000488"/>
</kw>
<msg time="2026-08-15T23:44:14.339615" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Set_Variable_If</arg>
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-15T23:44:14.338733" elapsed="0.000953"/>
</kw>
<arg>sulfur</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to vanadium and return 4334 if vanadium is at least ${lower_bound},
return 6666 otherwise.</doc>
<status status="PASS" start="2026-08-15T23:44:14.338386" elapsed="0.001397"/>
</kw>
<msg time="2026-08-15T23:44:14.339826" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Set_Variable_If_At_Least</arg>
<arg>sulfur</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-15T23:44:14.331473" elapsed="0.008397"/>
</kw>
<msg time="2026-08-15T23:44:14.339978" level="INFO">${netconf_cl_ssh_port} = 4334</msg>
<var>${netconf_cl_ssh_port}</var>
<arg>4334</arg>
<arg>6666</arg>
<doc>Compare sulfur to vanadium and return ${value_if_true} if vanadium is at least sulfur, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-08-15T23:44:14.331169" elapsed="0.008834"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:44:14.340273" level="INFO">Executing command 'sed -i -e 's/NETCONF_CH_SSH/4334/g' docker-compose.yaml'.</msg>
<msg time="2026-08-15T23:44:14.367397" level="INFO">Command exited with return code 0.</msg>
<arg>sed -i -e 's/NETCONF_CH_SSH/${netconf_cl_ssh_port}/g' docker-compose.yaml</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:44:14.340136" elapsed="0.027456"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:44:14.368251" level="INFO">Executing command 'sed -i -e 's/NETCONF_CH_TLS/4335/g' docker-compose.yaml'.</msg>
<msg time="2026-08-15T23:44:14.415244" level="INFO">Command exited with return code 0.</msg>
<arg>sed -i -e 's/NETCONF_CH_TLS/4335/g' docker-compose.yaml</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:44:14.367997" elapsed="0.047438"/>
</kw>
<kw name="Set_Variable_If_At_Least_Scandium" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set_Variable_If_At_Least" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set Variable If" owner="BuiltIn">
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-15T23:44:14.435141" elapsed="0.000481"/>
</kw>
<msg time="2026-08-15T23:44:14.435676" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Set_Variable_If</arg>
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-15T23:44:14.434624" elapsed="0.001132"/>
</kw>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to vanadium and return "connection-status":"connected" if vanadium is at least ${lower_bound},
return "netconf-node-topology:connection-status":"connected" otherwise.</doc>
<status status="PASS" start="2026-08-15T23:44:14.434307" elapsed="0.001533"/>
</kw>
<msg time="2026-08-15T23:44:14.435962" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Set_Variable_If_At_Least</arg>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-15T23:44:14.427374" elapsed="0.008639"/>
</kw>
<msg time="2026-08-15T23:44:14.436123" level="INFO">${substring1} = "connection-status":"connected"</msg>
<var>${substring1}</var>
<arg>"connection-status":"connected"</arg>
<arg>"netconf-node-topology:connection-status":"connected"</arg>
<doc>Compare scandium to vanadium and return ${value_if_true} if vanadium is at least scandium, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-08-15T23:44:14.427049" elapsed="0.009098"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-15T23:44:14.436581" level="INFO">${substring2} = "node-id":"netopeer2"</msg>
<var>${substring2}</var>
<arg>"node-id":"netopeer2"</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-08-15T23:44:14.436319" elapsed="0.000288"/>
</kw>
<kw name="Set_Variable_If_At_Least_Scandium" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set_Variable_If_At_Least" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set Variable If" owner="BuiltIn">
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-15T23:44:14.453669" elapsed="0.000627"/>
</kw>
<msg time="2026-08-15T23:44:14.454368" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Set_Variable_If</arg>
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-15T23:44:14.453196" elapsed="0.001246"/>
</kw>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to vanadium and return "available-capabilities" if vanadium is at least ${lower_bound},
return "netconf-node-topology:available-capabilities" otherwise.</doc>
<status status="PASS" start="2026-08-15T23:44:14.452696" elapsed="0.001852"/>
</kw>
<msg time="2026-08-15T23:44:14.454607" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Set_Variable_If_At_Least</arg>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-15T23:44:14.445671" elapsed="0.008997"/>
</kw>
<msg time="2026-08-15T23:44:14.454837" level="INFO">${substring3} = "available-capabilities"</msg>
<var>${substring3}</var>
<arg>"available-capabilities"</arg>
<arg>"netconf-node-topology:available-capabilities"</arg>
<doc>Compare scandium to vanadium and return ${value_if_true} if vanadium is at least scandium, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-08-15T23:44:14.445420" elapsed="0.009451"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:14.455618" level="INFO">${netconf_mount_expected_values} = ['"connection-status":"connected"', '"node-id":"netopeer2"', '"available-capabilities"']</msg>
<var>${netconf_mount_expected_values}</var>
<arg>${substring1}</arg>
<arg>${substring2}</arg>
<arg>${substring3}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:14.455072" elapsed="0.000583"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-15T23:44:14.456355" level="INFO">${netconf_mount_expected_values} = ['"connection-status":"connected"', '"node-id":"netopeer2"', '"available-capabilities"']</msg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-15T23:44:14.455893" elapsed="0.000521"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-15T23:44:14.460806" level="INFO">${CREATE_GLOBAL_CREDENTIALS_REQ} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_global_credentials.json</msg>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_global_credentials.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-15T23:44:14.456614" elapsed="0.004242"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-15T23:44:14.464388" level="INFO">${CREATE_SSH_DEVICE_REQ} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_ssh_device.json</msg>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_ssh_device.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-15T23:44:14.461008" elapsed="0.003426"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-15T23:44:14.467509" level="INFO">${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_device_hostkey_only.json</msg>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_device_hostkey_only.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-15T23:44:14.464587" elapsed="0.002970"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-15T23:44:14.471246" level="INFO">${CREATE_TLS_DEVICE_REQ} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_tls_device.json</msg>
<arg>${CREATE_TLS_DEVICE_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_tls_device.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-15T23:44:14.467725" elapsed="0.003597"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-15T23:44:14.474781" level="INFO">${ADD_KEYSTORE_ENTRY_REQ} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_keystore_entry.json</msg>
<arg>${ADD_KEYSTORE_ENTRY_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_keystore_entry.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-15T23:44:14.471481" elapsed="0.003347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-15T23:44:14.478563" level="INFO">${ADD_PRIVATE_KEY_REQ} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_private_key.json</msg>
<arg>${ADD_PRIVATE_KEY_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_private_key.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-15T23:44:14.474978" elapsed="0.003631"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-15T23:44:14.482069" level="INFO">${ADD_TRUSTED_CERTIFICATE} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_trusted_certificate.json</msg>
<arg>${ADD_TRUSTED_CERTIFICATE}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_trusted_certificate.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-15T23:44:14.478809" elapsed="0.003305"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:44:14.482348" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./incorrect_ssh_host_rsa_key'.</msg>
<msg time="2026-08-15T23:44:14.717593" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./incorrect_ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:44:14.482249" elapsed="0.235637"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:44:14.718635" level="INFO">Executing command 'awk '{print $2}' incorrect_ssh_host_rsa_key.pub'.</msg>
<msg time="2026-08-15T23:44:14.767749" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:44:14.768027" level="INFO">${incorrect_public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaU...</msg>
<var>${incorrect_public_key}</var>
<arg>awk '{print $2}' incorrect_ssh_host_rsa_key.pub</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:44:14.718340" elapsed="0.049746"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-15T23:44:14.775258" level="INFO">${INCORRECT_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaU...</msg>
<arg>${INCORRECT_PUB_KEY}</arg>
<arg>${incorrect_public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-15T23:44:14.768475" elapsed="0.006849"/>
</kw>
<doc>Get the suite ready for callhome test cases.</doc>
<status status="PASS" start="2026-08-15T23:44:04.954263" elapsed="9.821155"/>
</kw>
<test id="s1-s1-t1" name="CallHome over SSH with correct device credentials" line="17">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:14.777438" level="INFO">Creating Session using : alias=session, url=http://10.30.171.145:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x712a605dbd90&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-08-15T23:44:14.777039" elapsed="0.000891"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:44:14.778286" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-15T23:44:14.823739" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:44:14.778150" elapsed="0.045824"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:44:14.824779" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-08-15T23:44:14.997291" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:44:14.824432" elapsed="0.173015"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:44:14.998106" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-15T23:44:15.051525" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:44:15.051837" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXt...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:44:14.997844" elapsed="0.054058"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-15T23:44:15.060506" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXt...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-15T23:44:15.052295" elapsed="0.008276"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-15T23:44:14.776567" elapsed="0.284100"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:44:15.099010" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:44:15.061344" elapsed="0.037750"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:44:15.105577" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:44:15.099299" elapsed="0.006357"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-15T23:44:15.060951" elapsed="0.044811"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-15T23:44:15.111216" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:15.106631" elapsed="0.004726"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-15T23:44:15.112235" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-08-15T23:44:15.112466" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-15T23:44:15.112011" elapsed="0.000493"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-15T23:44:15.113198" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-15T23:44:15.112734" elapsed="0.000525"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:15.111605" elapsed="0.001730"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:15.111403" elapsed="0.001964"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:15.106586" elapsed="0.006814"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:44:15.113956" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
      ...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:44:15.113586" elapsed="0.000408"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:44:15.114520" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
          },...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:44:15.114196" elapsed="0.000361"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:44:15.115086" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:44:15.114771" elapsed="0.000351"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:44:15.115622" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:44:15.115314" elapsed="0.000385"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:15.944337" level="INFO">POST Request : url=http://10.30.171.145: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV"
        }
    }
}
 
 </msg>
<msg time="2026-08-15T23:44:15.944511" level="INFO">POST Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 14-Aug-2026 23:44:15 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:15.944791" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:15.115908" elapsed="0.828948"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:15.945268" elapsed="0.005111"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>root</arg>
<arg>root</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-08-15T23:44:15.106128" elapsed="0.844401"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:44:15.951306" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-15T23:44:16.228822" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:44:16.229124" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:44:16.229225" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:44:16.229317" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:44:15.950913" elapsed="0.278454"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:16.232827" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:16.231955" 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-08-15T23:44:16.233775" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:16.233171" elapsed="0.000737"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:16.233116" elapsed="0.000853"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:16.274301" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:16.275899" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:16.276135" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:16.244242" elapsed="0.031952"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:16.277109" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:16.276417" elapsed="0.000817"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:16.282182" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:16.277568" elapsed="0.004727"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:16.277292" elapsed="0.005078"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:16.276369" elapsed="0.006056"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:16.282698" elapsed="0.000470"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:16.283913" elapsed="0.002991"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:16.283619" elapsed="0.003325"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:16.289325" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:16.287150" elapsed="0.002338">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:16.287032" elapsed="0.002538">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:16.283301" elapsed="0.006334">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:16.243642" elapsed="0.046120">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:16.231161" elapsed="0.058738">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:18.292994" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:18.291974" 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="NOT RUN" start="2026-08-15T23:44:18.293973" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:18.293263" elapsed="0.000847"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:18.293210" elapsed="0.000959"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:18.313904" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:18.314224" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:18.314424" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:18.303921" elapsed="0.010547"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:18.315214" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:18.314633" elapsed="0.000692"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:18.318916" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:18.315588" elapsed="0.003406"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:18.315370" elapsed="0.003676"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:18.314589" elapsed="0.004494"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:18.319276" elapsed="0.000283"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:18.320087" elapsed="0.002940"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:18.319896" elapsed="0.003173"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:18.325475" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:18.323281" elapsed="0.002307">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:18.323162" elapsed="0.002517">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:18.319654" elapsed="0.006170">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:18.303288" elapsed="0.022653">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:18.290937" elapsed="0.035112">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:20.328845" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:20.327926" elapsed="0.000991"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:20.329660" elapsed="0.000077"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:20.329102" elapsed="0.000718"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:20.329055" elapsed="0.000821"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:20.349541" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:20.349728" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:20.349842" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:20.340062" elapsed="0.009806"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:20.350243" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:20.349951" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:20.354106" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:20.350484" elapsed="0.003742"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:20.350322" elapsed="0.003980"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:20.349930" elapsed="0.004423"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:20.354653" elapsed="0.000416"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:20.355805" elapsed="0.004112"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:20.355508" elapsed="0.004451"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:20.362328" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:20.360167" elapsed="0.002335">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:20.360048" elapsed="0.002532">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:20.355197" elapsed="0.007446">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:20.339406" elapsed="0.023363">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:20.326993" elapsed="0.035875">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:22.365848" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:22.364857" 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="NOT RUN" start="2026-08-15T23:44:22.366771" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:22.366111" elapsed="0.000792"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:22.366061" elapsed="0.000897"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:22.388289" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:22.388636" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:22.388912" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:22.379029" elapsed="0.009944"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:22.389863" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:22.389159" elapsed="0.000832"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:22.395041" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:22.390328" elapsed="0.004923"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:22.390045" elapsed="0.005285"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:22.389113" elapsed="0.006266"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:22.395748" elapsed="0.000430"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:22.396697" elapsed="0.002560"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:22.396551" elapsed="0.002756"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:22.401845" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:22.399599" elapsed="0.002351">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:22.399420" elapsed="0.002610">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:22.396336" elapsed="0.005759">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:22.378569" elapsed="0.023640">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:22.363878" elapsed="0.038466">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:24.405440" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:24.404460" elapsed="0.001054"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:24.406312" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:24.405707" elapsed="0.000736"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:24.405659" elapsed="0.000839"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:24.425976" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:24.426195" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:24.426405" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:24.417021" elapsed="0.009421"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:24.426991" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:24.426553" elapsed="0.000518"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:24.430177" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:24.427278" elapsed="0.002971"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:24.427105" elapsed="0.003194"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:24.426526" elapsed="0.003803"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:24.430503" elapsed="0.000265"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:24.431219" elapsed="0.003043"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:24.431052" elapsed="0.003268"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:24.437703" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:24.434605" elapsed="0.003242">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:24.434439" elapsed="0.003513">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:24.430855" elapsed="0.007190">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:24.416555" elapsed="0.021637">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:24.403357" elapsed="0.034969">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:26.441317" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:26.440394" elapsed="0.000993"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:26.442162" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:26.441567" elapsed="0.000819"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:26.441522" elapsed="0.000926"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:26.460830" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:26.460997" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:26.461106" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:26.452164" elapsed="0.008968"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:26.461502" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:26.461211" elapsed="0.000386"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:26.466550" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:26.461975" elapsed="0.004706"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:26.461650" elapsed="0.005139"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:26.461192" elapsed="0.005649"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:26.467120" elapsed="0.000432"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:26.468289" elapsed="0.004568"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:26.468025" elapsed="0.004873"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:26.475280" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:26.473097" elapsed="0.002310">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:26.472981" elapsed="0.002510">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:26.467686" elapsed="0.007867">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:26.451722" elapsed="0.023981">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:26.439419" elapsed="0.036452">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:28.478865" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:28.477870" elapsed="0.001068"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:28.479681" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:28.479122" elapsed="0.000723"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:28.479076" elapsed="0.000827"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:28.499800" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:28.500139" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:28.500375" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:28.490567" elapsed="0.009870"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:28.501379" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:28.500629" elapsed="0.000887"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:28.506855" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:28.501919" elapsed="0.005054"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:28.501571" elapsed="0.005480"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:28.500582" elapsed="0.006516"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:28.507366" elapsed="0.000301"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:28.508007" elapsed="0.002292"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:28.507886" elapsed="0.002454"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:28.512692" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:28.510541" elapsed="0.002260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:28.510422" elapsed="0.002456">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:28.507744" elapsed="0.005248">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:28.489838" elapsed="0.023260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:28.476911" elapsed="0.036282">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:30.516348" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:30.515393" elapsed="0.001028"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:30.517214" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:30.516615" elapsed="0.000731"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:30.516567" elapsed="0.000833"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:30.535990" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:30.536159" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:30.536260" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:30.528576" elapsed="0.007710"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:30.536656" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:30.536365" elapsed="0.000357"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:30.539179" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:30.536892" elapsed="0.002360"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:30.536760" elapsed="0.002540"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:30.536346" elapsed="0.002984"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:30.539500" elapsed="0.000267"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:30.540223" elapsed="0.003002"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:30.540056" elapsed="0.003226"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:30.546645" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:30.543569" elapsed="0.003264">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:30.543396" elapsed="0.003516">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:30.539859" elapsed="0.007113">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:30.527996" elapsed="0.019081">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:30.514273" elapsed="0.032900">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:32.550048" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:32.549126" elapsed="0.000995"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:32.550986" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:32.550307" elapsed="0.000814"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:32.550261" elapsed="0.000915"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:32.571700" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:32.571958" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:32.572121" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:32.563296" elapsed="0.008862"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:32.572764" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:32.572305" elapsed="0.000559"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:32.576023" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:32.573121" elapsed="0.003038"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:32.572906" elapsed="0.003301"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:32.572275" elapsed="0.003965"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:32.576446" elapsed="0.000242"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:32.577147" elapsed="0.002932"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:32.576974" elapsed="0.003161"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:32.583397" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:32.580430" elapsed="0.003079">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:32.580248" elapsed="0.003365">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:32.576790" elapsed="0.006907">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:32.562870" elapsed="0.020996">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:32.548164" elapsed="0.035837">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:34.586896" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:34.585973" elapsed="0.000994"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:34.587786" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:34.587149" elapsed="0.000770"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:34.587103" elapsed="0.000870"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:34.607499" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:34.607667" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:34.607890" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:34.598894" elapsed="0.009024"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:34.608309" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:34.608000" elapsed="0.000389"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:34.611741" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:34.608616" elapsed="0.003213"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:34.608424" elapsed="0.003453"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:34.607980" 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-08-15T23:44:34.612077" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:34.612769" elapsed="0.003020"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:34.612573" elapsed="0.003307"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:34.618461" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:34.616159" elapsed="0.002380">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:34.615996" elapsed="0.002618">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:34.612390" elapsed="0.006283">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:34.598458" elapsed="0.020336">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:34.585012" elapsed="0.033881">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:36.621806" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:36.620803" elapsed="0.001081"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:36.622631" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:36.622068" elapsed="0.000830"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:36.622022" elapsed="0.000940"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:36.643255" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:36.643472" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:36.643612" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:36.633596" elapsed="0.010052"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:36.644194" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:36.643784" elapsed="0.000488"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:36.647480" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:36.644485" elapsed="0.003069"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:36.644304" elapsed="0.003297"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:36.643756" elapsed="0.003875"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:36.647831" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:36.648504" elapsed="0.003012"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:36.648341" elapsed="0.003231"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:36.654927" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:36.651875" elapsed="0.003177">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:36.651687" elapsed="0.003449">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:36.648154" elapsed="0.007045">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:36.633014" elapsed="0.022291">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:36.619850" elapsed="0.035601">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:38.658420" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:38.657441" elapsed="0.001053"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:38.659317" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:38.658683" elapsed="0.000771"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:38.658637" elapsed="0.000874"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:38.679144" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:38.679359" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:38.679512" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:38.670654" elapsed="0.008895"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:38.680130" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:38.679662" elapsed="0.000546"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:38.683263" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:38.680411" elapsed="0.002923"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:38.680241" elapsed="0.003140"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:38.679635" elapsed="0.003776"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:38.683579" elapsed="0.000260"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:38.684344" elapsed="0.002952"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:38.684105" elapsed="0.003248"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:38.690377" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:38.687631" elapsed="0.002826">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:38.687468" elapsed="0.003066">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:38.683917" elapsed="0.006734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:38.670226" elapsed="0.020549">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:38.656473" elapsed="0.034399">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:40.693796" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:40.692696" elapsed="0.001171"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:40.694598" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:40.694049" elapsed="0.000706"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:40.694004" elapsed="0.000808"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:40.713313" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:40.713486" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:40.713603" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:40.704816" elapsed="0.008815"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:40.714176" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:40.713760" elapsed="0.000502"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:40.717678" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:40.714491" elapsed="0.003292"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:40.714298" elapsed="0.003537"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:40.713708" elapsed="0.004160"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:40.718059" elapsed="0.000260"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:40.718824" elapsed="0.003502"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:40.718608" elapsed="0.003779"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:40.725342" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:40.722696" elapsed="0.002799">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:40.722512" elapsed="0.003061">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:40.718405" elapsed="0.007229">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:40.704332" elapsed="0.021430">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:40.691820" elapsed="0.034041">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:42.729325" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:42.728381" elapsed="0.001016"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:42.730183" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:42.729577" elapsed="0.000751"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:42.729532" elapsed="0.000850"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:42.750938" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:42.751119" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:42.751337" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:42.741310" elapsed="0.010085"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:42.752285" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:42.751564" elapsed="0.000847"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:42.757365" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:42.752767" elapsed="0.004805"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:42.752463" elapsed="0.005186"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:42.751524" elapsed="0.006172"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:42.757999" elapsed="0.000374"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:42.759080" elapsed="0.002764"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:42.758820" elapsed="0.003064"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:42.764209" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:42.762082" elapsed="0.002206">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:42.761966" elapsed="0.002397">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:42.758494" elapsed="0.005929">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:42.740898" elapsed="0.023628">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:42.727286" elapsed="0.037334">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:44.767652" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:44.766684" elapsed="0.001072"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:44.768526" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:44.767958" elapsed="0.000699"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:44.767908" elapsed="0.000832"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:44.788247" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:44.788466" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:44.788682" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:44.779256" elapsed="0.009493"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:44.789268" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:44.788862" elapsed="0.000487"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:44.792497" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:44.789556" elapsed="0.003015"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:44.789383" elapsed="0.003236"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:44.788834" elapsed="0.003815"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:44.792841" elapsed="0.000244"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:44.793512" elapsed="0.002948"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:44.793348" elapsed="0.003169"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:44.799676" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:44.796822" elapsed="0.002953">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:44.796633" elapsed="0.003220">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:44.793162" elapsed="0.006751">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:44.778835" elapsed="0.021180">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:44.765591" elapsed="0.034522">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:46.803176" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:46.802207" elapsed="0.001048"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:46.804049" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:46.803445" elapsed="0.000871"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:46.803397" elapsed="0.000983"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:46.825957" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:46.826125" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:46.826240" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:46.816877" elapsed="0.009395"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:46.826665" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:46.826368" elapsed="0.000371"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:46.828950" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:46.826889" elapsed="0.002113"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:46.826764" elapsed="0.002273"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:46.826345" elapsed="0.002714"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:46.829181" elapsed="0.000343"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:46.830306" elapsed="0.005099"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:46.830038" elapsed="0.005459"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:46.838823" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:46.835976" elapsed="0.002928">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:46.835679" elapsed="0.003309">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:46.829647" elapsed="0.009402">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:46.816277" elapsed="0.022874">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:46.801154" elapsed="0.038126">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:48.842193" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:48.841231" elapsed="0.001034"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:48.843049" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:48.842454" elapsed="0.000725"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:48.842407" elapsed="0.000826"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:48.860175" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:48.860391" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:48.860531" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:48.852073" elapsed="0.008495"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:48.861141" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:48.860710" elapsed="0.000516"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:48.864378" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:48.861469" elapsed="0.002981"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:48.861268" elapsed="0.003230"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:48.860654" elapsed="0.003874"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:48.864766" elapsed="0.000251"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:48.865460" elapsed="0.003031"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:48.865286" elapsed="0.003262"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:48.871953" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:48.868886" elapsed="0.003177">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:48.868665" elapsed="0.003503">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:48.865099" elapsed="0.007232">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:48.851639" elapsed="0.020840">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:48.840241" elapsed="0.032372">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:50.875437" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:50.874511" elapsed="0.000997"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:50.876304" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:50.875688" elapsed="0.000749"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:50.875643" elapsed="0.000848"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:50.896937" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:50.897108" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:50.897220" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:50.887967" elapsed="0.009281"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:50.898066" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:50.897330" elapsed="0.000870"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:50.903271" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:50.898539" elapsed="0.004849"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:50.898257" elapsed="0.005206"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:50.897310" elapsed="0.006200"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:50.903815" elapsed="0.000375"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:50.904987" elapsed="0.002649"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:50.904685" elapsed="0.002993"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:50.910139" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:50.907897" elapsed="0.002378">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:50.907777" elapsed="0.002576">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:50.904374" elapsed="0.006039">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:50.887362" elapsed="0.023156">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:50.873527" elapsed="0.037089">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:52.913484" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:52.912553" elapsed="0.001004"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:52.914335" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:52.913774" elapsed="0.000689"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:52.913691" elapsed="0.000828"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:52.934620" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:52.934801" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:52.934902" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:52.925854" elapsed="0.009075"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:52.935293" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:52.935006" elapsed="0.000373"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:52.939553" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:52.935530" elapsed="0.004261"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:52.935404" elapsed="0.004468"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:52.934988" elapsed="0.004934"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:52.940200" elapsed="0.000380"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:52.941294" elapsed="0.003918"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:52.941030" elapsed="0.004222"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:52.947658" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:52.945453" elapsed="0.002304">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:52.945335" elapsed="0.002499">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:52.940706" elapsed="0.007190">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:52.925260" elapsed="0.022741">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:52.911570" elapsed="0.036527">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:54.950993" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:54.950064" elapsed="0.001000"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:54.951829" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:54.951244" elapsed="0.000714"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:54.951199" elapsed="0.000812"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:54.970415" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:54.970648" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:54.971007" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:54.962095" elapsed="0.008972"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:54.971918" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:54.971243" elapsed="0.000800"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:54.976989" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:54.972371" elapsed="0.004736"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:54.972097" elapsed="0.005087"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:54.971200" elapsed="0.006032"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:54.977504" elapsed="0.000430"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:54.978632" elapsed="0.004331"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:54.978352" elapsed="0.004652"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:54.985370" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:54.983207" elapsed="0.002255">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:54.983088" elapsed="0.002453">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:54.978061" elapsed="0.007541">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:54.961465" elapsed="0.024240">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:54.949049" elapsed="0.036770">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:56.988673" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:56.987634" elapsed="0.001143"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:56.989529" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:56.988961" elapsed="0.000830"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:56.988915" elapsed="0.000940"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:57.011474" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:57.011695" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:57.011916" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:57.002739" elapsed="0.009217"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:57.012528" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:57.012069" elapsed="0.000540"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:57.015635" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:57.012840" elapsed="0.002937"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:57.012642" elapsed="0.003187"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:57.012042" elapsed="0.003819"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:57.016035" elapsed="0.000243"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:57.016707" elapsed="0.002936"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:57.016539" elapsed="0.003244"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:57.022404" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:57.020121" elapsed="0.002361">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:57.019924" elapsed="0.002637">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:57.016356" elapsed="0.006266">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:57.002308" elapsed="0.020432">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:56.986687" elapsed="0.036187">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:44:59.025769" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:44:59.024788" elapsed="0.001055"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:44:59.026579" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:59.026025" elapsed="0.000682"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:59.025980" elapsed="0.000814"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:44:59.045898" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:44:59.046064" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:44:59.046168" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:44:59.036982" elapsed="0.009212"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:44:59.046563" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:44:59.046273" elapsed="0.000362"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:44:59.052249" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:44:59.047014" elapsed="0.005351"/>
</kw>
<status status="PASS" start="2026-08-15T23:44:59.046693" elapsed="0.005749"/>
</branch>
<status status="PASS" start="2026-08-15T23:44:59.046255" elapsed="0.006236"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:44:59.052836" elapsed="0.000382"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:44:59.053924" elapsed="0.004220"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:44:59.053629" elapsed="0.004556"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:44:59.060545" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:44:59.058395" elapsed="0.002235">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:44:59.058270" elapsed="0.002435">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:44:59.053341" elapsed="0.007510">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:44:59.036349" elapsed="0.024608">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:59.023831" elapsed="0.037221">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:01.065336" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:01.064379" elapsed="0.001027"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:01.066221" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:01.065585" elapsed="0.000766"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:01.065540" elapsed="0.000865"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:01.084687" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:01.084865" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:01.084965" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:01.076294" elapsed="0.008698"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:01.085363" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:01.085069" elapsed="0.000355"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:01.087638" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:01.085577" elapsed="0.002114"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:01.085449" elapsed="0.002297"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:01.085051" elapsed="0.002719"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:01.087894" elapsed="0.000173"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:01.088383" elapsed="0.002174"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:01.088264" elapsed="0.002334"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:01.093945" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:01.090888" elapsed="0.003220">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:01.090697" elapsed="0.003520">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:01.088124" elapsed="0.006178">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:01.075877" elapsed="0.018568">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:01.063459" elapsed="0.031119">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:03.096648" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:03.096074" elapsed="0.000621"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:03.097193" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:03.096836" elapsed="0.000436"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:03.096805" elapsed="0.000503"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:03.115933" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:03.116164" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:03.116338" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:03.107157" elapsed="0.009219"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:03.117059" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:03.116518" elapsed="0.000628"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:03.120394" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:03.117392" elapsed="0.003149"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:03.117186" elapsed="0.003406"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:03.116482" elapsed="0.004141"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:03.120817" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:03.121502" elapsed="0.003017"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:03.121325" elapsed="0.003252"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:03.127872" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:03.124872" elapsed="0.003112">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:03.124693" elapsed="0.003395">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:03.121139" elapsed="0.007033">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:03.106367" elapsed="0.021951">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:03.095385" elapsed="0.033062">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:05.131257" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:05.130335" elapsed="0.000993"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:05.132156" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:05.131512" elapsed="0.000778"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:05.131467" elapsed="0.000876"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:05.151279" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:05.151443" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:05.151599" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:05.143271" elapsed="0.008356"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:05.152058" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:05.151707" elapsed="0.000409"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:05.156556" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:05.152269" elapsed="0.004402"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:05.152140" elapsed="0.004640"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:05.151688" elapsed="0.005142"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:05.157102" elapsed="0.000373"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:05.158185" elapsed="0.003604"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:05.157919" elapsed="0.003911"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:05.164234" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:05.162034" elapsed="0.002278">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:05.161914" elapsed="0.002473">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:05.157598" elapsed="0.006851">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:05.142673" elapsed="0.021881">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:05.129373" elapsed="0.035278">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:07.167437" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:07.166514" elapsed="0.000994"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:07.168307" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:07.167687" elapsed="0.000955"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:07.167644" elapsed="0.001090"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:07.185733" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:07.185902" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:07.186000" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:07.178122" elapsed="0.007903"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:07.186392" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:07.186104" elapsed="0.000343"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:07.188641" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:07.186600" elapsed="0.002094"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:07.186471" elapsed="0.002271"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:07.186085" elapsed="0.002680"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:07.188888" elapsed="0.000365"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:07.189585" elapsed="0.002874"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:07.189465" elapsed="0.003050"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:07.195812" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:07.192813" elapsed="0.003112">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:07.192629" elapsed="0.003407">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:07.189321" elapsed="0.006800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:07.177692" elapsed="0.018567">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:07.165579" elapsed="0.030863">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:09.200194" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:09.199253" elapsed="0.001010"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:09.201050" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:09.200465" elapsed="0.000715"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:09.200420" elapsed="0.000814"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:09.219821" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:09.220024" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:09.220175" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:09.211491" elapsed="0.008720"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:09.220745" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:09.220319" elapsed="0.000506"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:09.223903" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:09.221037" elapsed="0.002944"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:09.220858" elapsed="0.003171"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:09.220293" elapsed="0.003767"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:09.224228" elapsed="0.000233"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:09.224903" elapsed="0.002947"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:09.224737" elapsed="0.003171"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:09.231327" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:09.228190" elapsed="0.003214">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:09.228023" elapsed="0.003455">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:09.224536" elapsed="0.007052">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:09.211073" elapsed="0.020620">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:09.197673" elapsed="0.034136">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:11.234544" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:11.233593" elapsed="0.001023"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:11.235655" elapsed="0.000088"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:11.234837" elapsed="0.000992"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:11.234789" elapsed="0.001095"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:11.252805" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:11.253032" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:11.253166" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:11.244848" elapsed="0.008353"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:11.253751" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:11.253312" elapsed="0.000521"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:11.257192" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:11.254041" elapsed="0.003224"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:11.253866" elapsed="0.003447"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:11.253283" elapsed="0.004061"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:11.257531" elapsed="0.000264"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:11.258223" elapsed="0.002687"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:11.258059" elapsed="0.002892"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:11.263331" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:11.261160" elapsed="0.002299">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:11.261042" elapsed="0.002501">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:11.257872" elapsed="0.005742">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:11.244418" elapsed="0.019314">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:11.232645" elapsed="0.031185">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:13.266610" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:13.265697" elapsed="0.000983"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:13.267445" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:13.266891" elapsed="0.000682"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:13.266845" elapsed="0.000780"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:13.287252" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:13.287410" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:13.287508" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:13.278822" elapsed="0.008713"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:13.287931" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:13.287614" elapsed="0.000373"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:13.291708" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:13.288189" elapsed="0.003760"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:13.288011" elapsed="0.004018"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:13.287594" elapsed="0.004484"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:13.292395" elapsed="0.000412"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:13.293520" elapsed="0.004126"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:13.293225" elapsed="0.004462"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:13.300016" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:13.297903" elapsed="0.002191">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:13.297784" elapsed="0.002401">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:13.292931" elapsed="0.007318">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:13.278231" elapsed="0.022123">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:13.264808" elapsed="0.035643">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:15.303231" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:15.302310" elapsed="0.000992"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:15.304077" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:15.303484" elapsed="0.000723"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:15.303435" elapsed="0.000826"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:15.323654" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:15.323831" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:15.323997" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:15.315446" elapsed="0.008578"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:15.324511" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:15.324104" elapsed="0.000484"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:15.327683" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:15.324811" elapsed="0.002965"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:15.324621" elapsed="0.003203"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:15.324084" elapsed="0.003770"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:15.328020" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:15.328672" elapsed="0.002983"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:15.328510" elapsed="0.003218"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:15.334779" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:15.332008" elapsed="0.002858">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:15.331846" elapsed="0.003097">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:15.328329" elapsed="0.006673">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:15.315028" elapsed="0.020075">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:15.301380" elapsed="0.033817">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:17.338226" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:17.337289" elapsed="0.001043"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:17.339102" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:17.338513" elapsed="0.000816"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:17.338468" elapsed="0.000921"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:17.356788" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:17.356952" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:17.357049" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:17.349910" elapsed="0.007165"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:17.357449" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:17.357153" elapsed="0.000352"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:17.360018" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:17.357655" elapsed="0.002436"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:17.357529" elapsed="0.002611"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:17.357134" elapsed="0.003038"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:17.360343" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:17.361030" elapsed="0.003264"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:17.360864" elapsed="0.003488"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:17.367786" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:17.364637" elapsed="0.003256">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:17.364470" elapsed="0.003525">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:17.360656" elapsed="0.007425">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:17.349315" elapsed="0.018909">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:17.336327" elapsed="0.032078">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:19.371314" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:19.370376" elapsed="0.001051"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:19.372221" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:19.371619" elapsed="0.000729"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:19.371571" elapsed="0.000833"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:19.394093" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:19.394305" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:19.394447" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:19.384859" elapsed="0.009626"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:19.395064" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:19.394605" elapsed="0.000539"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:19.398247" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:19.395377" elapsed="0.002942"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:19.395179" elapsed="0.003188"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:19.394575" elapsed="0.003822"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:19.398568" elapsed="0.000263"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:19.399272" elapsed="0.002959"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:19.399098" elapsed="0.003195"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:19.405572" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:19.402570" elapsed="0.003138">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:19.402407" elapsed="0.003426">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:19.398913" elapsed="0.007102">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:19.383658" elapsed="0.022505">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:19.369382" elapsed="0.036918">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:21.409250" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:21.408245" elapsed="0.001081"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:21.410131" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:21.409513" elapsed="0.000750"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:21.409468" elapsed="0.000852"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:21.430110" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:21.430321" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:21.430464" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:21.421506" elapsed="0.008988"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:21.430937" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:21.430587" elapsed="0.000408"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:21.433328" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:21.431147" elapsed="0.002262"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:21.431021" elapsed="0.002437"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:21.430564" elapsed="0.002924"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:21.433661" elapsed="0.000266"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:21.434372" elapsed="0.003107"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:21.434198" elapsed="0.003339"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:21.440853" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:21.437840" elapsed="0.003198">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:21.437653" elapsed="0.003491">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:21.434010" elapsed="0.007219">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:21.420933" elapsed="0.020428">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:21.407242" elapsed="0.034222">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:23.445193" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:23.444257" 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-08-15T23:45:23.446091" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:23.445444" elapsed="0.000776"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:23.445400" elapsed="0.000875"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:23.464047" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:23.464219" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:23.464320" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:23.455412" elapsed="0.008935"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:23.464735" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:23.464425" elapsed="0.000368"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:23.468414" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:23.464945" elapsed="0.003706"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:23.464817" elapsed="0.003947"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:23.464406" elapsed="0.004410"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:23.469092" elapsed="0.000420"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:23.470231" elapsed="0.005241"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:23.469967" elapsed="0.005598"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:23.479557" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:23.476081" elapsed="0.003558">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:23.475809" elapsed="0.003925">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:23.469641" elapsed="0.010174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:23.454833" elapsed="0.025099">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:23.443240" elapsed="0.036789">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:25.483098" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:25.482043" elapsed="0.001128"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:25.484021" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:25.483399" elapsed="0.000754"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:25.483344" elapsed="0.000863"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:25.502549" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:25.502736" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:25.502898" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:25.494926" elapsed="0.007999"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:25.503296" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:25.503004" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:25.506285" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:25.503556" elapsed="0.002804"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:25.503404" elapsed="0.003005"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:25.502985" elapsed="0.003454"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:25.506660" elapsed="0.000274"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:25.507391" elapsed="0.003209"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:25.507219" elapsed="0.003443"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:25.513308" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:25.511004" elapsed="0.002386">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:25.510830" elapsed="0.002635">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:25.507017" elapsed="0.006510">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:25.494456" elapsed="0.019174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:25.481004" elapsed="0.032737">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:27.516694" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:27.515779" 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-08-15T23:45:27.517550" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:27.516984" elapsed="0.000874"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:27.516937" elapsed="0.000987"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:27.538534" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:27.538774" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:27.538927" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:27.530648" elapsed="0.008317"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:27.539473" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:27.539073" elapsed="0.000478"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:27.542695" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:27.539803" elapsed="0.002986"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:27.539609" elapsed="0.003229"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:27.539047" elapsed="0.003823"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:27.543041" elapsed="0.000237"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:27.543760" elapsed="0.003018"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:27.543539" elapsed="0.003296"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:27.550169" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:27.547114" elapsed="0.003164">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:27.546950" elapsed="0.003431">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:27.543355" elapsed="0.007110">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:27.530226" elapsed="0.020378">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:27.514669" elapsed="0.036136">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:29.553775" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:29.552839" elapsed="0.001010"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:29.554595" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:29.554038" elapsed="0.000714"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:29.553990" elapsed="0.000820"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:29.575621" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:29.575875" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:29.576011" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:29.567328" elapsed="0.008719"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:29.576555" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:29.576154" elapsed="0.000480"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:29.579706" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:29.576889" elapsed="0.002909"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:29.576690" elapsed="0.003159"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:29.576128" elapsed="0.003753"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:29.580052" elapsed="0.000238"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:29.580768" elapsed="0.003270"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:29.580555" elapsed="0.003541"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:29.586951" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:29.584375" elapsed="0.002657">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:29.584212" elapsed="0.002898">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:29.580370" elapsed="0.006865">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:29.566914" elapsed="0.020427">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:29.551794" elapsed="0.035645">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:31.590262" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:31.589313" elapsed="0.001018"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:31.591104" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:31.590511" elapsed="0.000721"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:31.590466" elapsed="0.000820"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:31.609662" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:31.609880" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:31.609979" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:31.601803" elapsed="0.008201"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:31.610374" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:31.610081" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:31.615079" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:31.610576" elapsed="0.004618"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:31.610454" elapsed="0.004818"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:31.610062" elapsed="0.005260"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:31.615594" elapsed="0.000408"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:31.616678" elapsed="0.004769"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:31.616413" elapsed="0.005127"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:31.624560" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:31.622076" elapsed="0.003105">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:31.621799" elapsed="0.003460">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:31.616124" elapsed="0.009198">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:31.601160" elapsed="0.024264">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:31.588361" elapsed="0.037160">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:33.628026" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:33.627091" elapsed="0.001006"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:33.628885" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:33.628278" elapsed="0.000735"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:33.628231" elapsed="0.000836"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:33.649896" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:33.650065" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:33.650174" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:33.641337" elapsed="0.008864"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:33.650567" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:33.650278" elapsed="0.000346"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:33.652836" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:33.650814" elapsed="0.002126"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:33.650649" elapsed="0.002327"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:33.650260" elapsed="0.002738"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:33.653121" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:33.653602" elapsed="0.002178"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:33.653482" elapsed="0.002358"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:33.659255" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:33.656136" elapsed="0.003233">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:33.655961" elapsed="0.003517">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:33.653349" elapsed="0.006222">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:33.640755" elapsed="0.019002">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:33.626249" elapsed="0.033662">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:35.662616" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:35.661750" 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-08-15T23:45:35.663445" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:35.662891" elapsed="0.000681"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:35.662847" elapsed="0.000778"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:35.682227" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:35.682410" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:35.682609" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:35.673270" elapsed="0.009367"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:35.683061" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:35.682744" elapsed="0.000375"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:35.686243" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:35.683272" elapsed="0.003083"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:35.683144" elapsed="0.003287"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:35.682702" elapsed="0.003779"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:35.686790" elapsed="0.000380"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:35.687989" elapsed="0.005103"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:35.687587" elapsed="0.005548"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:35.695528" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:35.693340" elapsed="0.002276">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:35.693220" elapsed="0.002475">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:35.687298" elapsed="0.008476">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:35.672670" elapsed="0.023228">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:35.660841" elapsed="0.035153">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:37.698798" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:37.697893" elapsed="0.000977"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:37.699609" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:37.699054" elapsed="0.000808"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:37.699008" elapsed="0.000918"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:37.716039" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:37.716252" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:37.716389" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:37.709688" elapsed="0.006737"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:37.716979" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:37.716535" elapsed="0.000524"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:37.720175" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:37.717262" elapsed="0.002986"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:37.717093" elapsed="0.003204"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:37.716509" elapsed="0.003818"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:37.720498" elapsed="0.000258"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:37.721219" elapsed="0.002999"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:37.721053" elapsed="0.003222"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:37.727625" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:37.724562" elapsed="0.003192">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:37.724399" elapsed="0.003466">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:37.720838" elapsed="0.007113">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:37.709271" elapsed="0.018822">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:37.696968" elapsed="0.031309">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:39.731291" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:39.730362" elapsed="0.000999"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:39.732143" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:39.731546" elapsed="0.000728"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:39.731500" elapsed="0.000827"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:39.750640" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:39.750840" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:39.750977" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:39.743096" elapsed="0.007909"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:39.751479" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:39.751125" elapsed="0.000415"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:39.753846" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:39.751711" elapsed="0.002187"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:39.751567" elapsed="0.002365"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:39.751097" elapsed="0.002897"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:39.754123" elapsed="0.000180"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:39.754638" elapsed="0.003137"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:39.754506" elapsed="0.003331"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:39.761572" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:39.758155" elapsed="0.003535">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:39.757976" elapsed="0.003852">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:39.754365" elapsed="0.007727">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:39.742552" elapsed="0.019722">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:39.729334" elapsed="0.033085">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:41.765278" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:41.764366" elapsed="0.000985"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:41.766199" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:41.765594" elapsed="0.000732"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:41.765543" elapsed="0.000839"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:41.785871" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:41.786028" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:41.786125" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:41.777557" elapsed="0.008594"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:41.786526" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:41.786228" elapsed="0.000354"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:41.790284" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:41.786749" elapsed="0.003652"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:41.786606" elapsed="0.003873"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:41.786209" elapsed="0.004320"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:41.790832" elapsed="0.000423"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:41.791969" elapsed="0.004410"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:41.791667" elapsed="0.004753"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:41.798772" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:41.796623" elapsed="0.002285">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:41.796503" elapsed="0.002482">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:41.791378" elapsed="0.007685">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:41.776985" elapsed="0.022185">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:41.763412" elapsed="0.035855">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:43.802150" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:43.801241" elapsed="0.000978"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:43.803017" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:43.802401" elapsed="0.000741"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:43.802355" elapsed="0.000841"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:43.820029" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:43.820239" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:43.820346" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:43.813440" elapsed="0.006932"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:43.820793" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:43.820457" elapsed="0.000393"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:43.824095" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:43.821014" elapsed="0.003266"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:43.820876" elapsed="0.003457"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:43.820435" elapsed="0.003930"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:43.824548" elapsed="0.000278"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:43.825293" elapsed="0.003182"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:43.825111" elapsed="0.003424"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:43.831065" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:43.828853" elapsed="0.002297">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:43.828657" elapsed="0.002570">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:43.824912" elapsed="0.006377">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:43.812998" elapsed="0.018399">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:43.800280" elapsed="0.031214">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:45.834412" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:45.833471" elapsed="0.001011"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:45.835257" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:45.834669" elapsed="0.000718"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:45.834622" elapsed="0.000820"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:45.854073" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:45.854243" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:45.854413" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:45.845845" elapsed="0.008595"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:45.854828" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:45.854521" elapsed="0.000364"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:45.857087" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:45.855033" elapsed="0.002138"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:45.854910" elapsed="0.002298"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:45.854502" elapsed="0.002729"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:45.857354" elapsed="0.000175"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:45.857863" elapsed="0.002923"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:45.857742" elapsed="0.003102"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:45.864173" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:45.861121" elapsed="0.003159">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:45.860959" elapsed="0.003425">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:45.857586" elapsed="0.006883">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:45.845246" elapsed="0.019363">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:45.832422" elapsed="0.032344">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:47.867616" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:47.866703" elapsed="0.000983"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:47.868488" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:47.867905" elapsed="0.000849"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:47.867860" elapsed="0.000961"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:47.886314" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0z1fkaxsyllym96cm073k4pc80.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:47.886477" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:47.886584" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:47.878760" elapsed="0.007851"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:47.887005" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:47.886689" elapsed="0.000372"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:47.892274" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:47.887290" elapsed="0.005101"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:47.887085" elapsed="0.005382"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:47.886670" elapsed="0.005847"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:47.892825" elapsed="0.000381"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:47.893904" elapsed="0.004777"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:45:47.893611" elapsed="0.005191"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:47.901365" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:47.899206" elapsed="0.002238">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:45:47.898985" elapsed="0.002533">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:47.893326" elapsed="0.008253">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:47.878139" elapsed="0.023539">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:47.865697" elapsed="0.036123">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<msg time="2026-08-15T23:45:47.901914" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>CONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-08-15T23:44:16.229821" elapsed="91.672209">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-08-15T23:45:47.902225" elapsed="0.000022"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:45:47.903079" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-15T23:45:48.182893" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:45:48.183296" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:45:48.183401" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:45:48.183495" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:45:47.902902" elapsed="0.280646"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:48.184916" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:48.184083" elapsed="0.000977"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:45:48.186001" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-15T23:45:48.489244" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:45:48.489610" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:45:48.489709" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:45:48.489843" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:45:48.185462" elapsed="0.304435"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:45:48.490793" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-15T23:45:48.571047" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:45:48.571314" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-15T23:45:48.571414" level="INFO">${stderr} = </msg>
<msg time="2026-08-15T23:45:48.571501" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:45:48.490314" elapsed="0.081237"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:45:48.572157" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-15T23:45:48.620330" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:45:48.571934" elapsed="0.048537"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:48.640957" level="INFO">DELETE Request : url=http://10.30.171.145: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=node0z1fkaxsyllym96cm073k4pc80.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:48.641021" level="INFO">DELETE Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:48.641142" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:48.620817" elapsed="0.020369"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:48.653703" level="INFO">DELETE Request : url=http://10.30.171.145: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=node0z1fkaxsyllym96cm073k4pc80.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:48.653925" level="INFO">DELETE Response : url=http://10.30.171.145:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-15T23:45:48.654139" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:48.641495" elapsed="0.012682"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-15T23:45:47.902575" elapsed="0.751705"/>
</kw>
<doc>Correct credentials should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-08-15T23:44:14.775604" elapsed="93.878749">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDlKpcY7cqxzKhfioB3dq/5i8MmtMwqOuFgc++Afcmvg2rzunqm+Uj/p4WkOwlbK105Rvuh1VxggoQ1O/iGLzKHHJVdlcxQ1OO1RihNdeIbxaKtbwlPKiygjcTEioJZ5c0ILlfeCpVwIrGwvgmZL0dZpWhO1Yu+7xCGK26k8jXtF2LLVjSDuIJaby/L/yKgMZSkpwe3VLWgJySXrAC23QxKgf74xPvlxW99Z+ou8wF1Sm2sRHvRZjLQIUzFu7CGaRLrqwrSr3B240XR5IuDMoW0ywjwwHululwU+mCRXJhNzfupT3xFu3ZAZjFknl4hpQou8P4bjfdBL2RYPw81NsAV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</test>
<test id="s1-s1-t2" name="CallHome over SSH with incorrect device credentials" line="34">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:48.656402" level="INFO">Creating Session using : alias=session, url=http://10.30.171.145:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x712a5f531850&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-08-15T23:45:48.656046" elapsed="0.000559"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:45:48.657086" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-15T23:45:48.669675" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:45:48.656942" elapsed="0.012895"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:45:48.670374" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-08-15T23:45:49.025468" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:45:48.670158" elapsed="0.355539"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:45:49.026439" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-15T23:45:49.076604" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:45:49.076898" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:45:49.026154" elapsed="0.050811"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-15T23:45:49.086804" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-15T23:45:49.077366" elapsed="0.009522"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-15T23:45:48.655651" elapsed="0.431338"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:45:49.122783" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:45:49.087619" elapsed="0.035268"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:45:49.129860" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:45:49.123085" elapsed="0.006858"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-15T23:45:49.087242" elapsed="0.042788"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-15T23:45:49.135431" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:49.130895" elapsed="0.004608"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-15T23:45:49.136315" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-08-15T23:45:49.136504" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-15T23:45:49.136110" elapsed="0.000431"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-15T23:45:49.137270" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-15T23:45:49.136824" elapsed="0.000507"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:49.135751" elapsed="0.001654"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:49.135538" elapsed="0.001900"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:49.130860" elapsed="0.006607"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:45:49.138003" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
      ...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:45:49.137646" elapsed="0.000395"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:45:49.138550" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
          },...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:45:49.138236" elapsed="0.000351"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:45:49.139127" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "incorrect" ]
          },
...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:45:49.138800" elapsed="0.000366"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:45:49.139673" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "incorrect" ]
          },
...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:45:49.139363" elapsed="0.000347"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:49.156000" level="INFO">POST Request : url=http://10.30.171.145: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP"
        }
    }
}
 
 </msg>
<msg time="2026-08-15T23:45:49.156056" level="INFO">POST Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 14-Aug-2026 23:45:49 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:49.156154" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:49.139913" elapsed="0.016266"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:45:49.156461" elapsed="0.004693"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>root</arg>
<arg>incorrect</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-08-15T23:45:49.130376" elapsed="0.030913"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:45:49.161996" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-15T23:45:49.438187" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:45:49.438489" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:45:49.438598" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:45:49.438698" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:45:49.161599" elapsed="0.277195"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:49.442347" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:49.441461" 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-08-15T23:45:49.443226" elapsed="0.001207"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:49.442591" elapsed="0.001941"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:49.442542" elapsed="0.002052"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:49.460892" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:49.461115" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:49.461226" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:49.453380" elapsed="0.007872"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:49.461632" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:49.461331" elapsed="0.000357"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:49.463941" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:49.461855" elapsed="0.002137"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:49.461729" elapsed="0.002296"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:49.461311" elapsed="0.002736"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:49.464170" elapsed="0.000314"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:49.470364" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:49.465247" elapsed="0.005280">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:45:49.464961" elapsed="0.005726">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:49.464614" elapsed="0.006243">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:49.452963" elapsed="0.018176">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:49.440630" elapsed="0.030730">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:51.474300" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:51.473380" elapsed="0.001128"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:45:51.475288" elapsed="0.000494"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:51.474696" elapsed="0.001176"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:51.474649" elapsed="0.001278"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:51.492735" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:51.492904" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:51.493001" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:51.485011" elapsed="0.008016"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:51.493483" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:51.493106" elapsed="0.000457"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:51.496643" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:51.493794" elapsed="0.002942"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:51.493597" elapsed="0.003189"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:51.493087" elapsed="0.003729"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:51.496988" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:51.500913" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:51.497651" elapsed="0.003369">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:45:51.497489" elapsed="0.003636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:51.497303" elapsed="0.003908">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:51.484583" elapsed="0.016768">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:51.472417" elapsed="0.029111">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:53.504312" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:53.503395" 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="PASS" start="2026-08-15T23:45:53.505201" elapsed="0.000501"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:53.504567" elapsed="0.001257"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:53.504521" elapsed="0.001359"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:53.524205" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:53.524382" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:53.524545" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:53.516521" elapsed="0.008062"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:53.525158" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:53.524692" elapsed="0.000548"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:53.528333" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:53.525445" elapsed="0.002961"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:53.525272" elapsed="0.003182"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:53.524665" elapsed="0.003819"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:53.528654" elapsed="0.000256"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:53.532343" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:53.529354" elapsed="0.003096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:45:53.529185" elapsed="0.003369">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:53.528987" elapsed="0.003651">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:53.516113" elapsed="0.016747">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:53.502440" elapsed="0.030559">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:55.535649" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:55.534744" elapsed="0.001002"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:45:55.536478" elapsed="0.000510"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:55.535929" elapsed="0.001148"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:55.535884" elapsed="0.001249"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:55.554316" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:55.554536" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:55.554686" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:55.546800" elapsed="0.007945"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:55.555253" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:55.554855" elapsed="0.000475"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:55.558403" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:55.555539" elapsed="0.002936"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:55.555363" elapsed="0.003160"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:55.554829" elapsed="0.003724"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:55.558744" elapsed="0.000238"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:55.562423" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:55.559409" elapsed="0.003091">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:45:55.559243" elapsed="0.003331">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:55.559060" elapsed="0.003627">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:55.546370" elapsed="0.016439">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:55.533838" elapsed="0.029070">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:57.565101" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:57.564419" elapsed="0.000733"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:45:57.565676" elapsed="0.000337"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:57.565288" elapsed="0.000785"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:57.565253" elapsed="0.000858"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:57.582163" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:57.582331" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:57.582433" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:57.574779" elapsed="0.007695"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:57.583044" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:57.582589" elapsed="0.000538"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:57.586531" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:57.583374" elapsed="0.003235"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:57.583162" elapsed="0.003498"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:57.582562" elapsed="0.004130"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:57.586896" elapsed="0.000248"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:57.591198" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:57.587638" elapsed="0.003791">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:45:57.587458" elapsed="0.004092">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:57.587230" elapsed="0.004413">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:57.574348" elapsed="0.017470">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:57.563698" elapsed="0.028266">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:45:59.595023" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:45:59.594042" elapsed="0.001057"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:45:59.595918" elapsed="0.000546"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:59.595295" elapsed="0.001234"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:59.595246" elapsed="0.001319"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:45:59.613054" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:45:59.613219" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:45:59.613317" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:45:59.605484" elapsed="0.007859"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:45:59.613824" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:45:59.613421" elapsed="0.000482"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:45:59.616971" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:45:59.614111" elapsed="0.003004"/>
</kw>
<status status="PASS" start="2026-08-15T23:45:59.613936" elapsed="0.003230"/>
</branch>
<status status="PASS" start="2026-08-15T23:45:59.613402" elapsed="0.003794"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:45:59.617371" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:45:59.621180" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:45:59.618069" elapsed="0.003217">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:45:59.617899" elapsed="0.003492">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:45:59.617692" elapsed="0.003787">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:45:59.605069" elapsed="0.016554">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:59.593035" elapsed="0.028750">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:01.624680" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:01.623789" 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-08-15T23:46:01.625532" elapsed="0.000496"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:01.624969" elapsed="0.001199"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:01.624922" elapsed="0.001303"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:01.644066" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:01.644227" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:01.644390" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:01.635848" elapsed="0.008570"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:01.644816" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:01.644498" elapsed="0.000376"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:01.647121" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:01.645021" elapsed="0.002152"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:01.644898" elapsed="0.002310"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:01.644479" elapsed="0.002751"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:01.647354" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:01.650071" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:01.647854" elapsed="0.002298">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:01.647732" elapsed="0.002497">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:01.647583" elapsed="0.002709">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:01.635245" elapsed="0.015150">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:01.622829" elapsed="0.027665">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:03.653661" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:03.652695" elapsed="0.001104"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:03.654591" elapsed="0.000511"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:03.654014" elapsed="0.001179"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:03.653964" elapsed="0.001285"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:03.670981" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:03.671198" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:03.671310" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:03.664661" elapsed="0.006675"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:03.671774" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:03.671425" elapsed="0.000413"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:03.674367" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:03.672022" elapsed="0.002404"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:03.671869" elapsed="0.002603"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:03.671401" elapsed="0.003093"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:03.674619" elapsed="0.000195"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:03.678301" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:03.675175" elapsed="0.003238">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:03.675045" elapsed="0.003475">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:03.674875" elapsed="0.003734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:03.664057" elapsed="0.014720">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:03.651737" elapsed="0.027199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:05.682566" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:05.681606" elapsed="0.001032"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:05.683434" elapsed="0.000519"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:05.682867" elapsed="0.001176"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:05.682817" elapsed="0.001282"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:05.701130" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:05.701302" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:05.701401" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:05.693274" elapsed="0.008154"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:05.701874" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:05.701505" elapsed="0.000449"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:05.705033" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:05.702179" elapsed="0.002926"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:05.701987" elapsed="0.003167"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:05.701487" elapsed="0.003697"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:05.705356" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:05.709070" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:05.706043" elapsed="0.003136">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:05.705879" elapsed="0.003412">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:05.705669" elapsed="0.003710">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:05.692864" elapsed="0.016655">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:05.680478" elapsed="0.029259">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:07.712803" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:07.711890" elapsed="0.000985"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:07.713609" elapsed="0.000509"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:07.713058" elapsed="0.001148"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:07.713012" elapsed="0.001250"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:07.734059" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:07.734242" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:07.734355" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:07.726033" elapsed="0.008349"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:07.734784" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:07.734461" elapsed="0.000381"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:07.737109" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:07.734996" elapsed="0.002164"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:07.734866" elapsed="0.002329"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:07.734442" elapsed="0.002775"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:07.737339" elapsed="0.000173"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:07.741218" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:07.737952" elapsed="0.003380">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:07.737771" elapsed="0.003671">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:07.737599" elapsed="0.003949">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:07.725367" elapsed="0.016440">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:07.710921" elapsed="0.031035">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:09.743901" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:09.743287" elapsed="0.000661"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:09.744432" elapsed="0.000313"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:09.744070" elapsed="0.000731"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:09.744039" elapsed="0.000797"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:09.762302" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:09.762462" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:09.762560" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:09.753938" elapsed="0.008649"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:09.763050" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:09.762664" elapsed="0.000464"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:09.766217" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:09.763333" elapsed="0.002955"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:09.763162" elapsed="0.003173"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:09.762645" elapsed="0.003720"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:09.766534" elapsed="0.000258"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:09.770483" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:09.767226" elapsed="0.003366">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:09.767060" elapsed="0.003636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:09.766874" elapsed="0.004003">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:09.753493" elapsed="0.017531">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:09.742634" elapsed="0.028527">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:11.774363" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:11.773415" elapsed="0.001019"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:11.775269" elapsed="0.000495"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:11.774619" elapsed="0.001234"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:11.774573" elapsed="0.001335"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:11.794916" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:11.795105" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:11.795206" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:11.785090" elapsed="0.010142"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:11.795604" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:11.795312" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:11.797908" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:11.795834" elapsed="0.002127"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:11.795684" elapsed="0.002312"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:11.795294" elapsed="0.002724"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:11.798140" elapsed="0.000174"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:11.801233" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:11.798632" elapsed="0.002793">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:11.798512" elapsed="0.003023">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:11.798374" elapsed="0.003250">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:11.784503" elapsed="0.017288">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:11.772405" elapsed="0.029522">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:13.805397" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:13.804346" elapsed="0.001135"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:13.806360" elapsed="0.000539"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:13.805741" elapsed="0.001252"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:13.805651" elapsed="0.001408"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:13.830326" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:13.830582" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:13.830780" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:13.821767" elapsed="0.009045"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:13.831459" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:13.830967" elapsed="0.000560"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:13.834087" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:13.831753" elapsed="0.002487"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:13.831558" elapsed="0.002721"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:13.830926" elapsed="0.003378"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:13.834485" elapsed="0.000256"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:13.838426" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:13.835190" elapsed="0.003400">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:13.835010" elapsed="0.003755">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:13.834825" elapsed="0.004052">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:13.820725" elapsed="0.018362">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:13.803139" elapsed="0.036111">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:15.842329" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:15.841328" elapsed="0.001078"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:15.843249" elapsed="0.000538"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:15.842631" elapsed="0.001250"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:15.842568" elapsed="0.001410"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:15.862268" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:15.862515" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:15.862765" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:15.853421" elapsed="0.009385"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:15.863352" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:15.862927" elapsed="0.000531"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:15.866755" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:15.863709" elapsed="0.003124"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:15.863496" elapsed="0.003385"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:15.862899" elapsed="0.004013"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:15.867087" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:15.871224" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:15.867838" elapsed="0.003497">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:15.867619" elapsed="0.003822">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:15.867408" elapsed="0.004124">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:15.852984" elapsed="0.018692">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:15.840271" elapsed="0.031633">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:17.874920" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:17.873895" elapsed="0.001096"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:17.875761" elapsed="0.000495"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:17.875175" elapsed="0.001178"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:17.875128" elapsed="0.001283"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:17.898880" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:17.899272" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:17.899611" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:17.889018" elapsed="0.010660"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:17.900858" elapsed="0.000067"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:17.899952" elapsed="0.001047"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:17.906513" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:17.901360" elapsed="0.005207"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:17.901055" elapsed="0.005714"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:17.899892" elapsed="0.006907"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:17.906951" elapsed="0.000190"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:17.909729" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:17.907493" elapsed="0.002323">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:17.907355" elapsed="0.002571">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:17.907208" elapsed="0.002798">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:17.888590" elapsed="0.021534">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:17.872904" elapsed="0.037324">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:19.913056" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:19.912148" elapsed="0.000979"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:19.913990" elapsed="0.000364"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:19.913311" elapsed="0.001103"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:19.913265" elapsed="0.001186"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:19.931515" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:19.931687" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:19.931835" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:19.924590" elapsed="0.007275"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:19.932297" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:19.931962" elapsed="0.000395"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:19.934665" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:19.932510" elapsed="0.002222"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:19.932382" elapsed="0.002386"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:19.931939" elapsed="0.002852"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:19.934914" elapsed="0.000176"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:19.937659" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:19.935416" elapsed="0.002345">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:19.935287" elapsed="0.002552">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:19.935149" elapsed="0.002754">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:19.923963" elapsed="0.014048">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:19.911217" elapsed="0.026987">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:21.941141" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:21.940177" elapsed="0.001037"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:21.941990" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:21.941403" elapsed="0.001130"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:21.941355" elapsed="0.001235"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:21.959446" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:21.959666" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:21.959830" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:21.951673" elapsed="0.008194"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:21.960385" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:21.959976" elapsed="0.000487"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:21.963535" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:21.960674" elapsed="0.002933"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:21.960495" elapsed="0.003159"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:21.959950" elapsed="0.003735"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:21.963876" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:21.969562" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:21.964546" elapsed="0.005124">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:21.964380" elapsed="0.005414">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:21.964194" elapsed="0.005688">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:21.951268" elapsed="0.018823">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:21.939202" elapsed="0.031023">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:23.973201" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:23.972204" elapsed="0.001072"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:23.974061" elapsed="0.000464"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:23.973469" elapsed="0.001146"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:23.973420" elapsed="0.001251"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:23.994580" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:23.994767" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:23.994867" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:23.987056" elapsed="0.007837"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:23.995262" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:23.994971" elapsed="0.000352"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:23.998417" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:23.995537" elapsed="0.002952"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:23.995360" elapsed="0.003176"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:23.994953" elapsed="0.003613"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:23.998756" elapsed="0.000237"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:24.002407" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:23.999424" elapsed="0.003096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:23.999258" elapsed="0.003367">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:23.999072" elapsed="0.003735">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:23.986631" elapsed="0.016323">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:23.971209" elapsed="0.031879">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:26.006771" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:26.005487" elapsed="0.001383"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:26.008387" elapsed="0.000744"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:26.007124" elapsed="0.002131"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:26.007060" elapsed="0.002275"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:26.028682" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:26.028876" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:26.028997" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:26.019922" elapsed="0.009102"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:26.029485" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:26.029119" elapsed="0.000426"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:26.032021" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:26.029697" elapsed="0.002401"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:26.029570" elapsed="0.002572"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:26.029095" elapsed="0.003077"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:26.032357" elapsed="0.000512"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:26.040577" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:26.033856" elapsed="0.006951">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:26.033449" elapsed="0.007467">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:26.033044" elapsed="0.007968">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:26.019316" elapsed="0.021844">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:26.004245" elapsed="0.037036">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:28.044185" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:28.043202" elapsed="0.001059"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:28.045096" elapsed="0.000493"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:28.044463" elapsed="0.001221"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:28.044411" elapsed="0.001366"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:28.062703" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:28.062919" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:28.063032" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:28.055649" elapsed="0.007411"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:28.063500" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:28.063160" elapsed="0.000399"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:28.065908" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:28.063737" elapsed="0.002294"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:28.063584" elapsed="0.002483"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:28.063135" elapsed="0.002955"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:28.066217" elapsed="0.000177"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:28.069183" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:28.066762" elapsed="0.002504">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:28.066611" elapsed="0.002733">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:28.066457" elapsed="0.002953">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:28.055215" elapsed="0.014303">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:28.042221" elapsed="0.027394">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:30.074324" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:30.072557" elapsed="0.001886"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:30.075198" elapsed="0.000318"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:30.074670" elapsed="0.000904"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:30.074610" elapsed="0.001001"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:30.097054" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:30.097476" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:30.097940" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:30.086490" elapsed="0.011530"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:30.099197" elapsed="0.000063"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:30.098321" elapsed="0.001014"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:30.104506" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:30.099709" elapsed="0.004858"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:30.099392" elapsed="0.005213"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:30.098249" elapsed="0.006382"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:30.104795" elapsed="0.000209"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:30.107685" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:30.105387" elapsed="0.002417">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:30.105240" elapsed="0.002668">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:30.105075" elapsed="0.002927">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:30.085885" elapsed="0.022240">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:30.071321" elapsed="0.036913">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:32.111443" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:32.110351" elapsed="0.001198"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:32.112417" elapsed="0.000562"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:32.111786" elapsed="0.001289"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:32.111699" elapsed="0.001435"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:32.132568" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:32.132787" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:32.132924" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:32.124270" elapsed="0.008683"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:32.133431" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:32.133059" elapsed="0.000436"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:32.136613" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:32.133659" elapsed="0.003033"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:32.133521" elapsed="0.003249"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:32.133030" elapsed="0.003776"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:32.136998" elapsed="0.000257"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:32.141208" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:32.137791" elapsed="0.003536">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:32.137570" elapsed="0.003872">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:32.137343" elapsed="0.004193">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:32.123547" elapsed="0.018199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:32.109258" elapsed="0.032649">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:34.144873" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:34.143925" elapsed="0.001022"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:34.145692" elapsed="0.000491"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:34.145132" elapsed="0.001139"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:34.145085" elapsed="0.001242"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:34.160588" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:34.160841" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:34.160979" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:34.154706" elapsed="0.006310"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:34.161527" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:34.161125" elapsed="0.000480"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:34.164700" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:34.161836" elapsed="0.002959"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:34.161637" elapsed="0.003209"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:34.161098" elapsed="0.003780"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:34.165052" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:34.168699" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:34.165741" elapsed="0.003064">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:34.165553" elapsed="0.003330">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:34.165367" elapsed="0.003579">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:34.154293" elapsed="0.014755">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:34.143001" elapsed="0.026204">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:36.172100" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:36.171177" elapsed="0.000996"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:36.172949" elapsed="0.001042"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:36.172357" elapsed="0.001762"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:36.172311" elapsed="0.001873"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:36.195092" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:36.195321" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:36.195457" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:36.187222" elapsed="0.008272"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:36.196034" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:36.195604" elapsed="0.000508"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:36.199210" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:36.196316" elapsed="0.002966"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:36.196144" elapsed="0.003186"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:36.195577" elapsed="0.003784"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:36.199531" elapsed="0.000259"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:36.203098" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:36.200218" elapsed="0.002964">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:36.200052" elapsed="0.003214">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:36.199869" elapsed="0.003462">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:36.186797" elapsed="0.016695">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:36.170214" elapsed="0.033377">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:38.206815" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:38.205858" elapsed="0.001034"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:38.207644" elapsed="0.000508"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:38.207088" elapsed="0.001152"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:38.207039" elapsed="0.001257"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:38.225505" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:38.225698" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:38.225844" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:38.218161" elapsed="0.007711"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:38.226303" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:38.225966" elapsed="0.000396"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:38.228604" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:38.226519" elapsed="0.002136"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:38.226388" elapsed="0.002301"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:38.225942" 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-08-15T23:46:38.228890" elapsed="0.000186"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:38.232524" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:38.229415" elapsed="0.003228">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:38.229281" elapsed="0.003498">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:38.229136" elapsed="0.003831">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:38.217705" elapsed="0.015423">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:38.204854" elapsed="0.028416">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:40.236530" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:40.235571" elapsed="0.001032"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:40.237411" elapsed="0.000551"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:40.236844" elapsed="0.001210"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:40.236793" elapsed="0.001318"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:40.257493" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:40.257754" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:40.257869" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:40.249900" elapsed="0.007997"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:40.258320" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:40.257988" elapsed="0.000392"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:40.261380" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:40.258533" elapsed="0.002927"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:40.258405" elapsed="0.003108"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:40.257965" elapsed="0.003580"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:40.261773" elapsed="0.000260"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:40.266194" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:40.262522" elapsed="0.003945">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:40.262338" elapsed="0.004252">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:40.262119" elapsed="0.004563">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:40.249179" elapsed="0.017680">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:40.234543" elapsed="0.032415">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:42.270335" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:42.269382" elapsed="0.001027"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:42.271194" elapsed="0.000461"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:42.270598" elapsed="0.001175"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:42.270550" elapsed="0.001282"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:42.289347" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:42.289524" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:42.289622" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:42.281853" elapsed="0.007795"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:42.290123" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:42.289749" elapsed="0.000452"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:42.293305" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:42.290425" elapsed="0.003028"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:42.290233" elapsed="0.003269"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:42.289706" elapsed="0.003826"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:42.293704" elapsed="0.000297"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:42.297638" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:42.294444" elapsed="0.003336">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:42.294279" elapsed="0.003607">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:42.294093" elapsed="0.003883">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:42.281260" elapsed="0.016857">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:42.268276" elapsed="0.029975">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:44.300978" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:44.300059" elapsed="0.000992"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:44.301818" elapsed="0.000543"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:44.301232" elapsed="0.001221"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:44.301188" elapsed="0.001322"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:44.319817" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:44.320032" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:44.320307" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:44.311799" elapsed="0.008549"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:44.320963" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:44.320476" elapsed="0.000573"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:44.324523" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:44.321269" elapsed="0.003335"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:44.321085" elapsed="0.003572"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:44.320445" elapsed="0.004246"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:44.324903" elapsed="0.000254"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:44.329048" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:44.325625" elapsed="0.003542">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:44.325438" elapsed="0.003839">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:44.325239" elapsed="0.004132">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:44.311359" elapsed="0.018169">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:44.299150" elapsed="0.030524">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:46.332462" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:46.331551" elapsed="0.000981"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:46.333320" elapsed="0.000481"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:46.332740" elapsed="0.001148"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:46.332666" elapsed="0.001275"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:46.351490" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:46.351693" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:46.351835" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:46.344075" elapsed="0.007788"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:46.352462" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:46.351973" elapsed="0.000570"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:46.355729" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:46.352777" elapsed="0.003030"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:46.352578" elapsed="0.003277"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:46.351944" elapsed="0.003943"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:46.356065" elapsed="0.000237"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:46.360338" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:46.356767" elapsed="0.003683">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:46.356569" elapsed="0.003986">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:46.356383" elapsed="0.004260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:46.343469" elapsed="0.017342">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:46.330588" elapsed="0.030359">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:48.363907" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:48.362977" elapsed="0.001002"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:48.364750" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:48.364164" elapsed="0.001129"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:48.364118" elapsed="0.001231"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:48.383486" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:48.383745" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:48.383905" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:48.375670" elapsed="0.008266"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:48.384486" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:48.384062" elapsed="0.000488"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:48.387081" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:48.384758" elapsed="0.002403"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:48.384576" elapsed="0.002637"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:48.384029" elapsed="0.003217"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:48.387434" elapsed="0.000255"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:48.391702" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:48.388383" elapsed="0.003467">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:48.388003" elapsed="0.003964">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:48.387799" elapsed="0.004261">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:48.375110" elapsed="0.017110">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:48.361996" elapsed="0.030448">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:50.396212" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:50.395002" 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="PASS" start="2026-08-15T23:46:50.397344" elapsed="0.000733"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:50.396539" elapsed="0.001623"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:50.396481" elapsed="0.001730"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:50.417018" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:50.417203" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:50.417340" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:50.408743" elapsed="0.008625"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:50.417997" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:50.417490" elapsed="0.000591"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:50.422493" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:50.418385" elapsed="0.004211"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:50.418124" elapsed="0.004538"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:50.417455" elapsed="0.005251"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:50.422975" elapsed="0.000325"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:50.427619" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:50.423922" elapsed="0.003824">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:50.423655" elapsed="0.004197">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:50.423404" elapsed="0.004534">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:50.408082" elapsed="0.020085">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:50.393688" elapsed="0.034616">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:52.431257" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:52.430318" elapsed="0.001013"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:52.432135" elapsed="0.000485"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:52.431515" elapsed="0.001193"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:52.431468" elapsed="0.001331"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:52.450023" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:52.450200" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:52.450303" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:52.442217" elapsed="0.008114"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:52.450755" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:52.450410" elapsed="0.000405"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:52.453119" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:52.450971" elapsed="0.002200"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:52.450840" elapsed="0.002374"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:52.450390" elapsed="0.002858"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:52.453439" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:52.457463" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:52.454134" elapsed="0.003442">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:52.453968" elapsed="0.003713">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:52.453782" elapsed="0.004091">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:52.441751" elapsed="0.016270">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:52.429312" elapsed="0.028841">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:54.459908" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:54.459420" elapsed="0.000527"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:54.460323" elapsed="0.000219"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:54.460047" elapsed="0.000533"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:54.460022" elapsed="0.000585"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:54.474383" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:54.474608" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:54.474763" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:54.467199" elapsed="0.007594"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:54.475292" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:54.474905" elapsed="0.000448"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:54.477759" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:54.475520" elapsed="0.002295"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:54.475378" elapsed="0.002471"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:54.474876" elapsed="0.002996"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:54.477997" elapsed="0.000175"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:54.480782" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:54.478543" elapsed="0.002393">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:54.478376" elapsed="0.002639">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:54.478235" elapsed="0.002846">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:54.466769" elapsed="0.014424">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:54.458870" elapsed="0.022422">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:56.484095" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:56.483174" elapsed="0.000992"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:56.484980" elapsed="0.000462"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:56.484347" elapsed="0.001182"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:56.484301" elapsed="0.001286"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:56.504078" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:56.504253" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:56.504367" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:56.496375" elapsed="0.008019"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:56.504806" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:56.504497" elapsed="0.000365"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:56.507746" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:56.505017" elapsed="0.002866"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:56.504886" elapsed="0.003047"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:56.504477" elapsed="0.003486"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:56.508134" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:56.511851" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:56.508849" elapsed="0.003112">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:56.508661" elapsed="0.003402">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:56.508473" elapsed="0.003676">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:56.495799" elapsed="0.016491">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:56.482248" elapsed="0.030183">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:46:58.515645" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:46:58.514633" elapsed="0.001122"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:46:58.516574" elapsed="0.000527"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:58.515955" elapsed="0.001237"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:58.515905" elapsed="0.001346"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:46:58.535446" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:46:58.535676" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:46:58.535929" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:46:58.527334" elapsed="0.008634"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:46:58.536495" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:46:58.536080" elapsed="0.000501"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:46:58.539780" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:46:58.536807" elapsed="0.003046"/>
</kw>
<status status="PASS" start="2026-08-15T23:46:58.536614" elapsed="0.003288"/>
</branch>
<status status="PASS" start="2026-08-15T23:46:58.536053" elapsed="0.003881"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:46:58.540108" elapsed="0.000243"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:46:58.546031" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:46:58.540805" elapsed="0.005337">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:46:58.540616" elapsed="0.005683">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:46:58.540431" elapsed="0.005962">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:46:58.526920" elapsed="0.019618">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:46:58.513530" elapsed="0.033140">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:00.548950" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:00.548238" elapsed="0.000767"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:47:00.549538" elapsed="0.000344"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:00.549153" elapsed="0.000786"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:00.549114" elapsed="0.000862"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:00.568679" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:00.568981" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:00.569163" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:00.560016" elapsed="0.009192"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:00.569930" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:00.569367" elapsed="0.000652"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:00.573399" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:00.570250" elapsed="0.003232"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:00.570053" elapsed="0.003484"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:00.569326" elapsed="0.004248"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:00.573790" elapsed="0.000265"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:00.577793" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:00.574555" elapsed="0.003369">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:47:00.574351" elapsed="0.003696">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:00.574143" elapsed="0.004011">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:00.559145" elapsed="0.019179">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:00.547499" elapsed="0.030991">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:02.581532" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:02.580557" elapsed="0.001048"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:47:02.582386" elapsed="0.000494"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:02.581823" elapsed="0.001147"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:02.581774" elapsed="0.001253"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:02.599839" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:02.600021" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:02.600130" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:02.593551" elapsed="0.006606"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:02.600529" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:02.600234" elapsed="0.000351"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:02.603356" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:02.600745" elapsed="0.002683"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:02.600609" elapsed="0.002868"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:02.600215" elapsed="0.003292"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:02.603677" elapsed="0.000257"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:02.607352" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:02.604357" elapsed="0.003106">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:47:02.604192" elapsed="0.003373">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:02.604011" elapsed="0.003640">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:02.592968" elapsed="0.014845">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:02.579551" elapsed="0.028456">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:04.611119" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:04.610105" elapsed="0.001088"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:47:04.611971" elapsed="0.000462"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:04.611378" elapsed="0.001143"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:04.611332" elapsed="0.001245"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:04.630703" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:04.630903" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:04.631002" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:04.622878" elapsed="0.008150"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:04.631401" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:04.631107" elapsed="0.000350"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:04.636299" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:04.631700" elapsed="0.004712"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:04.631481" elapsed="0.005009"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:04.631088" elapsed="0.005450"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:04.636842" elapsed="0.000381"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:04.641226" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:04.637932" elapsed="0.003376">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:47:04.637636" elapsed="0.003752">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:04.637345" elapsed="0.004107">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:04.622250" elapsed="0.019369">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:04.609116" elapsed="0.032616">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:06.644819" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:06.643769" elapsed="0.001128"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:47:06.645681" elapsed="0.000520"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:06.645095" elapsed="0.001195"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:06.645044" elapsed="0.001304"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:06.663674" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:06.663995" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:06.664132" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:06.656490" elapsed="0.007678"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:06.664694" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:06.664278" elapsed="0.000519"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:06.667924" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:06.665008" elapsed="0.003002"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:06.664830" elapsed="0.003236"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:06.664251" elapsed="0.003851"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:06.668299" elapsed="0.000274"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:06.672126" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:06.669065" elapsed="0.003176">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:47:06.668893" elapsed="0.003453">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:06.668665" elapsed="0.003853">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:06.656077" elapsed="0.016618">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:06.642708" elapsed="0.030137">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:08.675807" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:08.674874" elapsed="0.001008"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:47:08.676638" elapsed="0.000526"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:08.676072" elapsed="0.001183"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:08.676023" elapsed="0.001290"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:08.695934" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:08.696111" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:08.696222" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:08.688543" elapsed="0.007706"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:08.696619" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:08.696330" elapsed="0.000350"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:08.699488" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:08.696897" elapsed="0.002665"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:08.696704" elapsed="0.002907"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:08.696311" elapsed="0.003332"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:08.699835" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:08.703625" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:08.700501" elapsed="0.003346">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:47:08.700333" elapsed="0.003620">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:08.700148" elapsed="0.003903">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:08.687966" elapsed="0.016232">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:08.673891" elapsed="0.030444">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:10.707593" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:10.706659" elapsed="0.001005"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:47:10.708446" elapsed="0.000489"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:10.707882" elapsed="0.001140"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:10.707835" elapsed="0.001243"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:10.729062" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:10.729242" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:10.729341" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:10.721233" elapsed="0.008134"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:10.729777" elapsed="0.000066"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:10.729445" elapsed="0.000444"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:10.732934" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:10.730100" elapsed="0.002980"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:10.729923" elapsed="0.003206"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:10.729426" elapsed="0.003735"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:10.733334" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:10.737332" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:10.734036" elapsed="0.003405">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:47:10.733867" elapsed="0.003687">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:10.733646" elapsed="0.003997">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:10.720768" elapsed="0.017070">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:10.705603" elapsed="0.032375">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:12.740968" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:12.740039" elapsed="0.001002"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:47:12.741881" elapsed="0.000521"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:12.741224" elapsed="0.001269"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:12.741179" elapsed="0.001370"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:12.759594" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:12.759782" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:12.759944" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:12.752220" elapsed="0.007751"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:12.760343" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:12.760050" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:12.762613" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:12.760553" elapsed="0.002112"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:12.760423" elapsed="0.002277"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:12.760031" elapsed="0.002708"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:12.762902" elapsed="0.000176"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:12.766341" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:12.763390" elapsed="0.003060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:47:12.763269" elapsed="0.003286">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:12.763135" elapsed="0.003510">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:12.751630" elapsed="0.015187">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:12.739050" elapsed="0.027920">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:14.770141" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:14.769178" elapsed="0.001037"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:47:14.771068" elapsed="0.000471"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:14.770410" elapsed="0.001231"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:14.770360" elapsed="0.001420"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:14.792141" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:14.792335" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:14.792450" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:14.784091" elapsed="0.008385"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:14.792875" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:14.792557" elapsed="0.000376"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:14.795188" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:14.793095" elapsed="0.002144"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:14.792957" elapsed="0.002317"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:14.792538" elapsed="0.002759"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:14.795421" elapsed="0.000175"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:14.798121" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:14.795950" elapsed="0.002256">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:47:14.795812" elapsed="0.002472">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:14.795655" elapsed="0.002693">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:14.783380" elapsed="0.015073">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:14.768114" elapsed="0.030436">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:16.800526" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:16.800055" elapsed="0.000509"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:47:16.801003" elapsed="0.000266"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:16.800665" elapsed="0.000653"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:16.800639" elapsed="0.000712"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:16.818505" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:16.818782" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:16.818959" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:16.809891" elapsed="0.009108"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:16.819525" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:16.819112" elapsed="0.000492"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:16.822850" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:16.819845" elapsed="0.003079"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:16.819637" elapsed="0.003338"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:16.819085" elapsed="0.003921"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:16.823179" elapsed="0.000267"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:16.827363" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:16.823913" elapsed="0.003562">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:47:16.823739" elapsed="0.003844">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:16.823528" elapsed="0.004150">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:16.809273" elapsed="0.018601">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:16.799470" elapsed="0.028624">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:18.831091" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:18.830144" 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-08-15T23:47:18.831947" elapsed="0.000460"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:18.831355" elapsed="0.001139"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:18.831305" elapsed="0.001246"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:18.849734" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:18.849916" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:18.850065" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:18.843035" elapsed="0.007069"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:18.850630" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:18.850216" elapsed="0.000512"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:18.853817" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:18.850958" elapsed="0.002930"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:18.850765" elapsed="0.003170"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:18.850189" elapsed="0.003777"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:18.854154" elapsed="0.000239"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:18.857867" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:18.854843" elapsed="0.003136">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:47:18.854656" elapsed="0.003466">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:18.854471" elapsed="0.003740">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:18.842558" elapsed="0.016478">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:18.829126" elapsed="0.030013">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:20.861948" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:20.861038" elapsed="0.000981"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:47:20.862777" elapsed="0.000486"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:20.862200" elapsed="0.001150"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:20.862154" elapsed="0.001250"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:20.883421" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:20.883669" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:20.883865" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:20.875350" elapsed="0.008555"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:20.884482" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:20.884031" elapsed="0.000534"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:20.887998" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:20.884819" elapsed="0.003295"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:20.884602" elapsed="0.003588"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:20.884000" elapsed="0.004240"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:20.888511" elapsed="0.000401"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:20.893183" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:20.889590" elapsed="0.003676">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:47:20.889321" elapsed="0.004021">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:20.889034" elapsed="0.004433">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:20.874583" elapsed="0.019010">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:20.860092" elapsed="0.033600">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<msg time="2026-08-15T23:47:20.893806" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-08-15T23:45:49.439247" elapsed="91.454677">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:20.894107" elapsed="0.000023"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:47:20.895020" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-15T23:47:21.172934" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:47:21.173325" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:47:21.173428" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:47:21.173520" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:47:20.894838" elapsed="0.278755"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:21.174796" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:21.174083" elapsed="0.000810"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:47:21.175648" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-15T23:47:21.472703" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:47:21.473101" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:47:21.473203" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:47:21.473295" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:47:21.175219" elapsed="0.298131"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:47:21.474265" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-15T23:47:21.539617" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:47:21.539916" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-15T23:47:21.540018" level="INFO">${stderr} = </msg>
<msg time="2026-08-15T23:47:21.540113" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:47:21.473822" elapsed="0.066445"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:47:21.540884" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-15T23:47:21.583356" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:47:21.540622" elapsed="0.042899"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:21.596496" level="INFO">DELETE Request : url=http://10.30.171.145: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=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:21.596562" level="INFO">DELETE Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:21.596691" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:21.583876" elapsed="0.012874"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:21.604111" level="INFO">DELETE Request : url=http://10.30.171.145: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=node01vkghl2dc2x8d1if22m39bn5p91.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:21.604574" level="INFO">DELETE Response : url=http://10.30.171.145:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-15T23:47:21.604890" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:21.596955" elapsed="0.007999"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-15T23:47:20.894500" elapsed="0.710634"/>
</kw>
<doc>Correct credentials should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-08-15T23:45:48.654783" elapsed="92.950479">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCY3ewraAPVguT/WzLdeMqN3S1RUYlbJ+61r59/RIPcwzWqqc0GzIPED7G4AEwYXDO2rJduvwJwhWuNyPv6JlHewvbNOpYlpEAB85dinlSDxYNFz6WD5DaOz/TjmKLDuT+68JpK79n8XidskrLAwdVAKVkBItqzzLxnm1zqQCde0wFwr06P6rYt/6gJflevaAH4GowcgpddTYnrQgRgN+3YogGqHtP67NR0sFozsSmdlZKG6NE9InUVkuYUJAQlfvYDqu7wQ6po0w9G3l3x5MYrkhmnXX/8fy7QSINxQvADYW0Zgjq07BR4YpAj4PIrQQPON5tpdsuhtLxAiIeOkDRP","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</test>
<test id="s1-s1-t3" name="CallHome over SSH with correct global credentials" line="53">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:21.608407" level="INFO">Creating Session using : alias=session, url=http://10.30.171.145:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x712a5f4b6bd0&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-08-15T23:47:21.608040" elapsed="0.000577"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:47:21.609113" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-15T23:47:21.631205" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:47:21.608966" elapsed="0.022373"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:47:21.631955" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-08-15T23:47:22.098814" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:47:21.631693" elapsed="0.467338"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:47:22.099816" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-15T23:47:22.152382" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:47:22.152778" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQz...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:47:22.099447" elapsed="0.053399"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-15T23:47:22.161662" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQz...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-15T23:47:22.153291" elapsed="0.008504"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-15T23:47:21.607325" elapsed="0.554593"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:47:22.199197" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:47:22.162697" elapsed="0.036806"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:47:22.206255" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:47:22.199968" elapsed="0.006376"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-15T23:47:22.162245" elapsed="0.044207"/>
</kw>
<kw name="Register global credentials for SSH call-home devices" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-15T23:47:22.207534" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_global_credentials.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_global_credentials.json&lt;/a&gt;'.</msg>
<msg time="2026-08-15T23:47:22.207814" level="INFO">${template} = {
  "credentials": {
    "username": "{username}",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${template}</var>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-15T23:47:22.207302" elapsed="0.000560"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:47:22.208464" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:47:22.208105" elapsed="0.000397"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:47:22.209065" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "root" ]
  }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:47:22.208709" elapsed="0.000397"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:22.229446" level="INFO">PUT Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '79', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "credentials": {
    "username": "root",
    "passwords": [ "root" ]
  }
}
 
 </msg>
<msg time="2026-08-15T23:47:22.229579" level="INFO">PUT Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 14-Aug-2026 23:47:22 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:22.229862" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${global_config_url}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:22.209302" elapsed="0.020623"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:22.230326" elapsed="0.003862"/>
</kw>
<arg>root</arg>
<arg>root</arg>
<doc>Set global credentials for SSH call-home devices</doc>
<status status="PASS" start="2026-08-15T23:47:22.206796" elapsed="0.027494"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-15T23:47:22.243456" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-08-15T23:47:22.243648" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-15T23:47:22.243291" elapsed="0.000384"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-15T23:47:22.244197" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-15T23:47:22.243861" elapsed="0.000379"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:22.243016" elapsed="0.001279"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:22.239659" elapsed="0.004660"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-15T23:47:22.244491" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:22.244345" elapsed="0.000194"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:22.239626" elapsed="0.004933"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:47:22.244947" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:47:22.244689" elapsed="0.000285"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:47:22.245337" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:47:22.245113" elapsed="0.000250"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:47:22.245736" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:47:22.245500" elapsed="0.000330"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:47:22.246200" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKL...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:47:22.245974" elapsed="0.000252"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:22.260389" level="INFO">POST Request : url=http://10.30.171.145: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=node01h1j4pbws27p9l20spe1bidg22.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"
        }
    }
}
 
 </msg>
<msg time="2026-08-15T23:47:22.260505" level="INFO">POST Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:22.260703" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:22.246360" elapsed="0.014433"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:22.261150" elapsed="0.004722"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-08-15T23:47:22.234694" elapsed="0.031322"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:47:22.266699" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-15T23:47:22.542442" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:47:22.542860" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:47:22.542965" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:47:22.543056" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:47:22.266323" elapsed="0.276786"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:22.546671" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:22.545854" elapsed="0.000931"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:22.547543" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:22.546963" elapsed="0.000708"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:22.546916" elapsed="0.000839"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:22.564250" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:22.564425" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:22.564536" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:22.557510" elapsed="0.007053"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:22.564969" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:22.564643" elapsed="0.000381"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:22.567259" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:22.565177" elapsed="0.002134"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:22.565049" elapsed="0.002355"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:22.564624" elapsed="0.002806"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:22.567556" elapsed="0.000188"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:22.568095" elapsed="0.002745"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:22.567942" elapsed="0.002959"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:22.574832" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:22.571202" elapsed="0.003756">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:22.571024" elapsed="0.004046">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:22.567804" elapsed="0.007357">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:22.557095" elapsed="0.018221">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:22.545055" elapsed="0.030405">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:24.578284" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:24.577366" elapsed="0.000989"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:24.579141" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:24.578560" elapsed="0.000708"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:24.578490" elapsed="0.000833"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:24.597824" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:24.598019" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:24.598166" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:24.590206" elapsed="0.008001"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:24.599040" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:24.598469" elapsed="0.000659"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:24.602924" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:24.599376" elapsed="0.003628"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:24.599165" elapsed="0.003892"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:24.598427" elapsed="0.004663"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:24.603281" elapsed="0.000255"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:24.604037" elapsed="0.003190"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:24.603840" elapsed="0.003448"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:24.610618" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:24.607591" elapsed="0.003111">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:24.607410" elapsed="0.003385">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:24.603618" elapsed="0.007237">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:24.589449" elapsed="0.021518">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:24.576417" elapsed="0.034647">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:26.614825" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:26.613539" elapsed="0.001367"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:26.615834" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:26.615106" elapsed="0.000883"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:26.615057" elapsed="0.001016"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:26.633856" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:26.634187" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:26.634333" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:26.626873" elapsed="0.007497"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:26.634928" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:26.634485" elapsed="0.000524"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:26.638070" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:26.635225" elapsed="0.002943"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:26.635043" elapsed="0.003174"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:26.634457" elapsed="0.003791"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:26.638423" elapsed="0.000238"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:26.639118" elapsed="0.002952"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:26.638949" elapsed="0.003466"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:26.645095" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:26.642741" elapsed="0.002435">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:26.642552" elapsed="0.002698">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:26.638760" elapsed="0.006551">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:26.626401" elapsed="0.019012">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:26.612308" elapsed="0.033201">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:28.648358" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:28.647432" elapsed="0.000996"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:28.649347" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:28.648769" elapsed="0.000709"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:28.648691" elapsed="0.000894"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:28.667756" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:28.667926" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:28.668035" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:28.660263" elapsed="0.007797"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:28.668495" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:28.668139" elapsed="0.000434"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:28.671643" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:28.668804" elapsed="0.002932"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:28.668606" elapsed="0.003182"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:28.668120" elapsed="0.003698"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:28.671989" elapsed="0.000237"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:28.672651" elapsed="0.003011"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:28.672487" elapsed="0.003251"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:28.679055" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:28.676018" elapsed="0.003187">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:28.675855" elapsed="0.003461">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:28.672305" elapsed="0.007092">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:28.659657" elapsed="0.019878">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:28.646445" elapsed="0.033304">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:30.682998" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:30.681782" elapsed="0.001307"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:30.684145" elapsed="0.000120"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:30.683331" elapsed="0.001048"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:30.683270" elapsed="0.001179"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:30.702365" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:30.702552" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:30.702658" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:30.693907" elapsed="0.008778"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:30.703114" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:30.702793" elapsed="0.000378"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:30.709017" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:30.703325" elapsed="0.005806"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:30.703194" elapsed="0.006017"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:30.702773" elapsed="0.006488"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:30.709535" elapsed="0.000404"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:30.710615" elapsed="0.003699"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:30.710347" elapsed="0.004015"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:30.716839" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:30.714587" elapsed="0.002338">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:30.714447" elapsed="0.002568">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:30.710060" elapsed="0.007016">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:30.693459" elapsed="0.023789">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:30.680753" elapsed="0.036598">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:32.720250" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:32.719310" elapsed="0.001011"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:32.721100" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:32.720509" elapsed="0.000721"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:32.720462" elapsed="0.000848"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:32.740399" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:32.740568" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:32.740666" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:32.732434" elapsed="0.008259"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:32.741086" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:32.740795" elapsed="0.000347"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:32.743796" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:32.741333" elapsed="0.002534"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:32.741167" elapsed="0.002749"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:32.740775" elapsed="0.003172"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:32.744118" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:32.744805" elapsed="0.002949"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:32.744618" elapsed="0.003193"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:32.751050" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:32.748091" elapsed="0.003070">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:32.747926" elapsed="0.003339">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:32.744432" elapsed="0.006984">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:32.731853" elapsed="0.019711">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:32.718314" elapsed="0.033384">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:34.754447" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:34.753513" elapsed="0.001004"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:34.755289" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:34.754702" elapsed="0.000716"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:34.754656" elapsed="0.000815"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:34.774963" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:34.775171" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:34.775336" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:34.767071" elapsed="0.008296"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:34.776084" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:34.775506" elapsed="0.000669"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:34.779807" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:34.776427" elapsed="0.003458"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:34.776213" elapsed="0.003725"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:34.775467" elapsed="0.004504"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:34.780159" elapsed="0.000257"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:34.780923" elapsed="0.003248"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:34.780705" elapsed="0.003527"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:34.787786" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:34.784531" elapsed="0.003348">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:34.784355" elapsed="0.003739">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:34.780505" elapsed="0.007657">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:34.766457" elapsed="0.021825">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:34.752574" elapsed="0.035808">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:36.791242" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:36.790301" elapsed="0.001015"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:36.792164" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:36.791562" elapsed="0.000739"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:36.791513" elapsed="0.000845"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:36.809105" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:36.809271" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:36.809373" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:36.801558" elapsed="0.007842"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:36.809800" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:36.809480" elapsed="0.000379"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:36.812089" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:36.810013" elapsed="0.002129"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:36.809883" elapsed="0.002295"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:36.809461" elapsed="0.002739"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:36.812325" elapsed="0.000173"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:36.812939" elapsed="0.003259"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:36.812771" elapsed="0.003487"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:36.819608" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:36.816543" elapsed="0.003267">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:36.816375" elapsed="0.003546">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:36.812559" elapsed="0.007448">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:36.800973" elapsed="0.019180">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:36.789331" elapsed="0.030957">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:38.823322" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:38.822329" 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-08-15T23:47:38.824194" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:38.823591" elapsed="0.000734"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:38.823540" elapsed="0.000842"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:38.841188" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:38.841367" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:38.841466" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:38.833889" elapsed="0.007604"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:38.841919" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:38.841584" elapsed="0.000398"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:38.844249" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:38.842146" elapsed="0.002154"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:38.842008" elapsed="0.002329"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:38.841558" elapsed="0.002802"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:38.844521" elapsed="0.000265"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:38.845110" elapsed="0.002848"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:38.844987" elapsed="0.003029"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:38.851322" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:38.848304" elapsed="0.003129">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:38.848134" elapsed="0.003404">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:38.844847" elapsed="0.006774">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:38.833455" elapsed="0.018328">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:38.821330" elapsed="0.030588">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:40.855058" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:40.854061" elapsed="0.001071"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:40.855958" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:40.855328" elapsed="0.000769"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:40.855276" elapsed="0.000879"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:40.873576" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:40.873834" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:40.874000" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:40.866865" elapsed="0.007176"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:40.874645" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:40.874155" elapsed="0.000596"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:40.877917" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:40.874969" elapsed="0.003022"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:40.874787" elapsed="0.003256"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:40.874127" elapsed="0.003958"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:40.878265" elapsed="0.000244"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:40.879022" elapsed="0.003072"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:40.878841" elapsed="0.003317"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:40.884752" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:40.882448" elapsed="0.002390">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:40.882281" elapsed="0.002633">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:40.878588" elapsed="0.006384">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:40.866420" elapsed="0.018657">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:40.852956" elapsed="0.032218">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:42.888063" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:42.887131" 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="NOT RUN" start="2026-08-15T23:47:42.888929" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:42.888322" elapsed="0.000739"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:42.888277" elapsed="0.000838"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:42.907336" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:42.907581" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:42.907693" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:42.899835" elapsed="0.007906"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:42.908151" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:42.907831" elapsed="0.000378"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:42.910495" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:42.908375" elapsed="0.002173"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:42.908234" elapsed="0.002366"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:42.907809" elapsed="0.002813"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:42.910765" elapsed="0.000177"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:42.911261" elapsed="0.002499"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:42.911137" elapsed="0.002666"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:42.916468" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:42.914009" elapsed="0.002568">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:42.913888" elapsed="0.002795">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:42.911001" elapsed="0.005825">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:42.899400" elapsed="0.017577">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:42.886137" elapsed="0.030973">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:44.920047" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:44.919093" elapsed="0.001025"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:44.921033" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:44.920426" elapsed="0.000745"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:44.920379" elapsed="0.000848"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:44.939282" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:44.939454" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:44.939554" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:44.931761" elapsed="0.007819"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:44.940009" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:44.939691" elapsed="0.000375"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:44.942936" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:44.940224" elapsed="0.002784"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:44.940091" elapsed="0.002966"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:44.939671" elapsed="0.003417"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:44.943260" elapsed="0.000239"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:44.943969" elapsed="0.003030"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:44.943801" elapsed="0.003255"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:44.950039" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:44.947337" elapsed="0.002787">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:44.947172" elapsed="0.003027">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:44.943579" elapsed="0.006682">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:44.931127" elapsed="0.019238">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:44.918126" elapsed="0.032370">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:46.953617" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:46.952566" elapsed="0.001128"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:46.954532" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:46.953925" elapsed="0.000747"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:46.953873" elapsed="0.000890"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:46.972806" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:46.972991" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:46.973117" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:46.965452" elapsed="0.007691"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:46.973560" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:46.973236" elapsed="0.000382"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:46.976506" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:46.973788" elapsed="0.002790"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:46.973643" elapsed="0.002983"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:46.973213" elapsed="0.003443"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:46.976864" elapsed="0.000242"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:46.977549" elapsed="0.002983"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:46.977374" elapsed="0.003216"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:46.983368" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:46.980939" elapsed="0.002520">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:46.980763" elapsed="0.002773">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:46.977186" elapsed="0.006410">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:46.964862" elapsed="0.018927">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:46.951527" elapsed="0.032364">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:48.986751" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:48.985829" elapsed="0.000997"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:48.987569" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:48.987011" elapsed="0.000690"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:48.986963" elapsed="0.000825"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:49.004644" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:49.004839" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:49.004942" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:48.997848" elapsed="0.007120"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:49.005347" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:49.005047" elapsed="0.000357"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:49.008306" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:49.005556" elapsed="0.002825"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:49.005428" elapsed="0.003002"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:49.005029" elapsed="0.003433"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:49.008633" elapsed="0.000264"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:49.009324" elapsed="0.003080"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:49.009158" elapsed="0.003303"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:49.015610" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:49.012763" elapsed="0.002930">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:49.012577" elapsed="0.003210">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:49.008974" elapsed="0.006995">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:48.997230" elapsed="0.018850">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:48.984865" elapsed="0.031315">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:51.019104" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:51.017902" elapsed="0.001242"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:51.019534" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:51.019253" elapsed="0.000339"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:51.019225" elapsed="0.000394"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:51.033429" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:51.033630" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:51.033767" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:51.026467" elapsed="0.007328"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:51.034252" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:51.033899" elapsed="0.000411"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:51.036592" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:51.034466" elapsed="0.002177"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:51.034337" elapsed="0.002340"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:51.033873" elapsed="0.002826"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:51.036841" elapsed="0.000182"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:51.037358" elapsed="0.002135"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:51.037225" elapsed="0.002309"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:51.041876" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:51.039749" elapsed="0.002215">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:51.039616" elapsed="0.002490">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:51.037083" elapsed="0.005086">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:51.025982" elapsed="0.016297">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:51.017368" elapsed="0.025011">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:53.045902" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:53.044862" elapsed="0.001115"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:53.046793" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:53.046182" elapsed="0.000746"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:53.046130" elapsed="0.000850"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:53.069161" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:53.069372" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:53.069525" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:53.061594" elapsed="0.007968"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:53.070119" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:53.069672" elapsed="0.000527"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:53.073257" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:53.070406" elapsed="0.002923"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:53.070233" elapsed="0.003145"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:53.069645" elapsed="0.003764"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:53.073581" elapsed="0.000259"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:53.074268" elapsed="0.003072"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:53.074104" elapsed="0.003293"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:53.080780" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:53.077677" elapsed="0.003282">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:53.077513" elapsed="0.003553">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:53.073919" elapsed="0.007208">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:53.061165" elapsed="0.020067">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:53.043327" elapsed="0.038001">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:55.084171" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:55.083192" elapsed="0.001053"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:55.085096" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:55.084440" elapsed="0.000798"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:55.084390" elapsed="0.000909"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:55.101745" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:55.101925" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:55.102034" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:55.094596" elapsed="0.007469"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:55.102483" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:55.102158" elapsed="0.000381"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:55.105057" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:55.102698" elapsed="0.002414"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:55.102563" elapsed="0.002584"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:55.102136" elapsed="0.003032"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:55.105292" elapsed="0.000238"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:55.105872" elapsed="0.003056"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:55.105742" elapsed="0.003246"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:55.112433" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:55.109288" elapsed="0.003259">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:55.109113" elapsed="0.003542">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:55.105589" elapsed="0.007177">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:55.094167" elapsed="0.018794">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:55.082211" elapsed="0.030894">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:57.116200" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:57.115187" elapsed="0.001087"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:57.117101" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:57.116464" elapsed="0.000774"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:57.116416" elapsed="0.000877"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:57.135559" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:57.135754" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:57.135855" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:57.127251" elapsed="0.008630"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:57.136357" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:57.135964" elapsed="0.000453"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:57.138665" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:57.136568" elapsed="0.002169"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:57.136442" elapsed="0.002331"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:57.135945" elapsed="0.002852"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:57.138925" elapsed="0.000174"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:57.139852" elapsed="0.005059"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:57.139490" elapsed="0.005515"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:57.148999" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:57.145462" elapsed="0.003619">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:57.145191" elapsed="0.003974">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:57.139173" elapsed="0.010053">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:57.126626" elapsed="0.022700">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:57.114156" elapsed="0.035266">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:47:59.152424" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:47:59.151446" elapsed="0.001051"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:47:59.153321" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:59.152698" elapsed="0.000755"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:59.152650" elapsed="0.000858"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:47:59.171010" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:47:59.171278" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:47:59.171432" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:47:59.163559" elapsed="0.007911"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:47:59.172010" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:47:59.171582" elapsed="0.000509"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:47:59.175167" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:47:59.172303" elapsed="0.002937"/>
</kw>
<status status="PASS" start="2026-08-15T23:47:59.172124" elapsed="0.003165"/>
</branch>
<status status="PASS" start="2026-08-15T23:47:59.171555" elapsed="0.003765"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:47:59.175494" elapsed="0.000261"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:47:59.176181" elapsed="0.002999"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:47:59.176016" elapsed="0.003221"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:47:59.182002" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:47:59.179519" elapsed="0.002561">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:47:59.179354" elapsed="0.002801">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:47:59.175831" elapsed="0.006384">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:47:59.163076" elapsed="0.019247">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:47:59.150418" elapsed="0.032001">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:01.185197" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:01.184289" elapsed="0.000978"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:01.186190" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:01.185588" elapsed="0.000730"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:01.185542" elapsed="0.000830"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:01.204168" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:01.204389" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:01.204533" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:01.196879" elapsed="0.007683"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:01.205103" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:01.204682" elapsed="0.000481"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:01.207683" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:01.205336" elapsed="0.002413"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:01.205190" elapsed="0.002595"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:01.204650" elapsed="0.003158"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:01.207931" elapsed="0.000188"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:01.208441" elapsed="0.002146"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:01.208311" elapsed="0.002317"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:01.213039" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:01.210847" elapsed="0.002275">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:01.210726" elapsed="0.002472">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:01.208175" elapsed="0.005087">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:01.196376" elapsed="0.017037">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:01.183331" elapsed="0.030290">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:03.216571" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:03.215536" elapsed="0.001112"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:03.217494" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:03.216873" elapsed="0.000757"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:03.216824" elapsed="0.000861"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:03.236316" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:03.236487" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:03.236586" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:03.229084" elapsed="0.007528"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:03.237008" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:03.236690" elapsed="0.000375"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:03.239775" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:03.237250" elapsed="0.002601"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:03.237089" elapsed="0.002813"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:03.236671" elapsed="0.003263"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:03.240121" elapsed="0.000248"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:03.240836" elapsed="0.003067"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:03.240642" elapsed="0.003318"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:03.246726" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:03.244234" elapsed="0.002575">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:03.244073" elapsed="0.002812">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:03.240450" elapsed="0.006496">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:03.228272" elapsed="0.018828">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:03.214567" elapsed="0.032635">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:05.251304" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:05.250354" elapsed="0.001023"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:05.252177" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:05.251559" elapsed="0.000748"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:05.251513" elapsed="0.000848"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:05.273002" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:05.273191" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:05.273312" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:05.266130" elapsed="0.007209"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:05.273934" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:05.273461" elapsed="0.000553"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:05.277131" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:05.274244" elapsed="0.002959"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:05.274049" elapsed="0.003202"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:05.273428" elapsed="0.003853"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:05.277456" elapsed="0.000244"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:05.278158" elapsed="0.002991"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:05.277983" elapsed="0.003224"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:05.284267" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:05.281543" elapsed="0.002805">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:05.281372" elapsed="0.003051">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:05.277799" elapsed="0.006745">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:05.265478" elapsed="0.019172">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:05.248478" elapsed="0.036283">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:07.287588" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:07.286603" elapsed="0.001057"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:07.288459" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:07.287880" elapsed="0.000710"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:07.287834" elapsed="0.000809"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:07.305811" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:07.305984" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:07.306081" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:07.298683" elapsed="0.007424"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:07.306478" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:07.306189" elapsed="0.000344"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:07.311245" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:07.306683" elapsed="0.004651"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:07.306556" elapsed="0.004826"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:07.306165" elapsed="0.005248"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:07.311584" elapsed="0.000260"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:07.312272" elapsed="0.002936"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:07.312105" elapsed="0.003194"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:07.317673" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:07.315550" elapsed="0.002219">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:07.315417" elapsed="0.002479">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:07.311921" elapsed="0.006037">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:07.298109" elapsed="0.019949">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:07.285672" elapsed="0.032481">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:09.321056" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:09.320087" elapsed="0.001042"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:09.321914" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:09.321316" elapsed="0.000731"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:09.321269" elapsed="0.000836"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:09.339384" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:09.339550" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:09.339649" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:09.332062" elapsed="0.007613"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:09.340068" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:09.339776" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:09.342321" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:09.340273" elapsed="0.002099"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:09.340148" elapsed="0.002259"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:09.339756" elapsed="0.002672"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:09.342551" elapsed="0.000187"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:09.343110" elapsed="0.002860"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:09.342963" elapsed="0.003073"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:09.350025" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:09.346364" elapsed="0.003882">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:09.346173" elapsed="0.004198">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:09.342796" elapsed="0.007666">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:09.331471" elapsed="0.019153">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:09.319116" elapsed="0.031678">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:11.353821" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:11.352795" elapsed="0.001102"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:11.354706" elapsed="0.000096"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:11.354084" elapsed="0.000805"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:11.354039" elapsed="0.000906"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:11.402403" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:11.402614" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:11.402802" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:11.393676" elapsed="0.009166"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:11.403415" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:11.402968" elapsed="0.000525"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:11.406581" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:11.403699" elapsed="0.002955"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:11.403527" elapsed="0.003177"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:11.402936" elapsed="0.003819"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:11.406929" elapsed="0.000348"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:11.407731" elapsed="0.011842"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:11.407539" elapsed="0.012132"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:11.423211" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:11.420556" elapsed="0.002737">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:11.419847" elapsed="0.003521">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:11.407355" elapsed="0.016074">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:11.393146" elapsed="0.030398">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:11.351792" elapsed="0.071853">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:13.426474" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:13.425450" elapsed="0.001098"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:13.427408" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:13.426808" elapsed="0.000734"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:13.426751" elapsed="0.000846"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:13.443359" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:13.443521" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:13.443619" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:13.436449" elapsed="0.007197"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:13.444303" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:13.443796" elapsed="0.000587"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:13.447728" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:13.444590" elapsed="0.003213"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:13.444416" elapsed="0.003436"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:13.443767" elapsed="0.004116"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:13.448052" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:13.448736" elapsed="0.002943"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:13.448547" elapsed="0.003194"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:13.454053" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:13.451944" elapsed="0.002188">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:13.451827" elapsed="0.002381">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:13.448362" elapsed="0.005905">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:13.436035" elapsed="0.018333">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:13.424495" elapsed="0.029969">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:15.457297" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:15.456327" 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="NOT RUN" start="2026-08-15T23:48:15.458138" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:15.457549" elapsed="0.000720"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:15.457503" elapsed="0.000821"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:15.478201" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:15.478420" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:15.478518" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:15.471310" elapsed="0.007235"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:15.479030" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:15.478623" elapsed="0.000487"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:15.482211" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:15.479316" elapsed="0.002965"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:15.479143" elapsed="0.003187"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:15.478604" elapsed="0.003756"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:15.482533" elapsed="0.000256"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:15.483217" elapsed="0.003002"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:15.483052" elapsed="0.003225"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:15.489592" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:15.486554" elapsed="0.003142">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:15.486391" elapsed="0.003432">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:15.482868" elapsed="0.007018">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:15.470896" elapsed="0.019091">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:15.455409" elapsed="0.034674">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:17.496973" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:17.496037" elapsed="0.001006"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:17.497993" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:17.497367" elapsed="0.000757"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:17.497319" elapsed="0.000861"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:17.514913" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:17.515137" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:17.515288" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:17.506945" elapsed="0.008380"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:17.515863" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:17.515433" elapsed="0.000508"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:17.519022" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:17.516146" elapsed="0.002948"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:17.515975" elapsed="0.003166"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:17.515407" elapsed="0.003764"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:17.519340" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:17.520021" elapsed="0.002984"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:17.519857" elapsed="0.003205"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:17.526188" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:17.523341" elapsed="0.002926">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:17.523177" elapsed="0.003165">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:17.519653" elapsed="0.006748">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:17.506515" elapsed="0.019986">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:17.495052" elapsed="0.031587">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:19.529420" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:19.528506" elapsed="0.000985"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:19.530255" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:19.529671" elapsed="0.000711"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:19.529627" elapsed="0.000808"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:19.548774" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:19.548950" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:19.549047" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:19.540557" elapsed="0.008516"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:19.549439" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:19.549151" elapsed="0.000344"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:19.551871" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:19.549641" elapsed="0.002282"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:19.549518" elapsed="0.002475"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:19.549132" elapsed="0.002888"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:19.552143" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:19.552621" elapsed="0.002861"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:19.552504" elapsed="0.003033"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:19.558832" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:19.555834" elapsed="0.003104">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:19.555650" elapsed="0.003393">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:19.552371" elapsed="0.006755">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:19.539864" elapsed="0.019491">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:19.527517" elapsed="0.031974">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:21.562328" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:21.561417" elapsed="0.000983"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:21.563175" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:21.562582" elapsed="0.000722"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:21.562536" elapsed="0.000822"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:21.580228" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:21.580441" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:21.580576" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:21.573112" elapsed="0.007501"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:21.581160" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:21.580750" elapsed="0.000487"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:21.584277" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:21.581443" elapsed="0.002906"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:21.581272" elapsed="0.003125"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:21.580694" elapsed="0.003735"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:21.584601" elapsed="0.000258"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:21.585292" elapsed="0.003028"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:21.585124" elapsed="0.003253"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:21.591804" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:21.588658" elapsed="0.003260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:21.588494" elapsed="0.003541">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:21.584939" elapsed="0.007255">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:21.572682" elapsed="0.019658">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:21.560483" elapsed="0.031992">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:23.595318" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:23.594403" elapsed="0.000986"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:23.596167" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:23.595572" elapsed="0.000724"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:23.595527" elapsed="0.000825"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:23.614438" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:23.614610" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:23.614751" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:23.606468" elapsed="0.008311"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:23.615178" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:23.614865" elapsed="0.000370"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:23.617742" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:23.615383" elapsed="0.002414"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:23.615259" elapsed="0.002573"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:23.614842" elapsed="0.003011"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:23.617976" elapsed="0.000248"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:23.618660" elapsed="0.003015"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:23.618492" elapsed="0.003260"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:23.624990" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:23.622035" elapsed="0.003062">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:23.621869" elapsed="0.003416">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:23.618309" elapsed="0.007080">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:23.605886" elapsed="0.019651">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:23.593485" elapsed="0.032183">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:25.628695" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:25.627697" elapsed="0.001108"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:25.629546" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:25.628988" elapsed="0.000687"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:25.628943" elapsed="0.000818"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:25.647827" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:25.647985" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:25.648095" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:25.639860" elapsed="0.008267"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:25.648512" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:25.648226" elapsed="0.000343"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:25.650983" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:25.648732" elapsed="0.002303"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:25.648594" elapsed="0.002481"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:25.648203" elapsed="0.002899"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:25.651253" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:25.651775" elapsed="0.002973"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:25.651642" elapsed="0.003165"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:25.658280" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:25.655100" elapsed="0.003359">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:25.654924" elapsed="0.003640">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:25.651482" elapsed="0.007166">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:25.639234" elapsed="0.019578">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:25.626677" elapsed="0.032272">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:27.661851" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:27.660897" elapsed="0.001027"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:27.662758" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:27.662114" elapsed="0.000780"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:27.662066" elapsed="0.000885"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:27.681502" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:27.681673" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:27.681806" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:27.673830" elapsed="0.008005"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:27.682218" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:27.681917" elapsed="0.000359"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:27.684540" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:27.682444" elapsed="0.002149"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:27.682300" elapsed="0.002328"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:27.681898" elapsed="0.002752"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:27.684790" elapsed="0.000259"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:27.685374" elapsed="0.002387"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:27.685252" elapsed="0.002568"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:27.691220" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:27.688117" elapsed="0.003211">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:27.687951" elapsed="0.003482">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:27.685109" elapsed="0.006410">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:27.673212" elapsed="0.018450">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:27.659882" elapsed="0.031938">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:29.694654" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:29.693703" elapsed="0.001053"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:29.695501" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:29.694941" elapsed="0.000687"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:29.694896" elapsed="0.000786"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:29.714115" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:29.714324" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:29.714476" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:29.707226" elapsed="0.007286"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:29.715128" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:29.714619" elapsed="0.000589"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:29.718270" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:29.715417" elapsed="0.002938"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:29.715242" elapsed="0.003160"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:29.714593" elapsed="0.003840"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:29.718606" elapsed="0.000261"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:29.719326" elapsed="0.002977"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:29.719128" elapsed="0.003231"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:29.725606" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:29.722636" elapsed="0.003096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:29.722473" elapsed="0.003394">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:29.718945" elapsed="0.007005">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:29.706806" elapsed="0.019284">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:29.692787" elapsed="0.033449">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:31.728990" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:31.728084" elapsed="0.000977"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:31.729887" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:31.729243" elapsed="0.000774"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:31.729198" elapsed="0.000874"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:31.746841" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:31.747084" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:31.747184" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:31.740085" elapsed="0.007126"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:31.747693" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:31.747292" elapsed="0.000503"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:31.751159" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:31.748002" elapsed="0.003229"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:31.747829" elapsed="0.003452"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:31.747273" elapsed="0.004039"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:31.751517" elapsed="0.000261"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:31.752210" elapsed="0.003141"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:31.752043" elapsed="0.003366"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:31.758666" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:31.755692" elapsed="0.003071">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:31.755525" elapsed="0.003317">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:31.751859" elapsed="0.007044">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:31.739656" elapsed="0.019351">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:31.727138" elapsed="0.031964">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:33.761976" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:33.761004" 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="NOT RUN" start="2026-08-15T23:48:33.762948" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:33.762356" elapsed="0.000722"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:33.762307" elapsed="0.000826"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:33.781703" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:33.781889" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:33.781987" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:33.773445" elapsed="0.008567"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:33.782377" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:33.782090" elapsed="0.000343"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:33.784602" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:33.782579" elapsed="0.002075"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:33.782456" elapsed="0.002234"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:33.782072" elapsed="0.002653"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:33.784850" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:33.785335" elapsed="0.002625"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:33.785215" elapsed="0.002803"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:33.791264" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:33.788297" elapsed="0.003072">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:33.788134" elapsed="0.003337">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:33.785081" elapsed="0.006476">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:33.772873" elapsed="0.018825">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:33.760017" elapsed="0.031886">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:35.794792" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:35.793834" elapsed="0.001033"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:35.795678" elapsed="0.000085"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:35.795059" elapsed="0.000791"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:35.795010" elapsed="0.000899"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:35.813503" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:35.813675" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:35.813808" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:35.806760" elapsed="0.007076"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:35.814272" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:35.813915" elapsed="0.000418"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:35.817564" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:35.814526" elapsed="0.003111"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:35.814358" elapsed="0.003329"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:35.813896" elapsed="0.003844"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:35.817918" elapsed="0.000303"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:35.818663" elapsed="0.003136"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:35.818494" elapsed="0.003364"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:35.824446" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:35.822181" elapsed="0.002351">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:35.822013" elapsed="0.002596">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:35.818304" elapsed="0.006366">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:35.806237" elapsed="0.018622">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:35.792839" elapsed="0.032118">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:37.827841" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:37.826940" 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-08-15T23:48:37.828674" elapsed="0.000076"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:37.828098" elapsed="0.000736"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:37.828052" elapsed="0.000837"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:37.846282" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:37.846473" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:37.846586" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:37.838947" elapsed="0.007665"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:37.847002" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:37.846691" elapsed="0.000369"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:37.849461" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:37.847210" elapsed="0.002303"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:37.847084" elapsed="0.002464"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:37.846673" elapsed="0.002897"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:37.849693" elapsed="0.000187"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:37.850189" elapsed="0.002571"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:37.850069" elapsed="0.002750"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:37.856291" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:37.853198" elapsed="0.003199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:37.852935" elapsed="0.003566">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:37.849936" elapsed="0.006718">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:37.838323" elapsed="0.018540">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:37.825952" elapsed="0.031052">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:39.859985" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:39.858965" elapsed="0.001092"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:39.860840" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:39.860243" elapsed="0.000727"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:39.860196" elapsed="0.000829"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:39.877031" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:39.877199" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:39.877297" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:39.871343" elapsed="0.005980"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:39.877769" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:39.877401" elapsed="0.000448"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:39.880950" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:39.878052" elapsed="0.002970"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:39.877882" elapsed="0.003188"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:39.877382" elapsed="0.003718"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:39.881292" elapsed="0.000237"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:39.881997" elapsed="0.003050"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:39.881830" elapsed="0.003276"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:39.888225" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:39.885389" elapsed="0.002918">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:39.885224" elapsed="0.003222">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:39.881613" elapsed="0.006897">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:39.870910" elapsed="0.017706">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:39.857981" elapsed="0.030746">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:41.891469" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:41.890543" 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="NOT RUN" start="2026-08-15T23:48:41.892376" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:41.891763" elapsed="0.000744"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:41.891683" elapsed="0.000878"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:41.909208" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:41.909375" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:41.909484" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:41.902084" elapsed="0.007425"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:41.909904" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:41.909588" elapsed="0.000373"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:41.912200" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:41.910109" elapsed="0.002142"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:41.909985" elapsed="0.002300"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:41.909569" elapsed="0.002738"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:41.912429" elapsed="0.000171"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:41.913052" elapsed="0.002961"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:41.912886" elapsed="0.003185"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:41.919442" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:41.916348" elapsed="0.003272">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:41.916186" elapsed="0.003560">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:41.912681" elapsed="0.007184">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:41.901483" elapsed="0.018531">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:41.889575" elapsed="0.030574">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:43.923103" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:43.922165" elapsed="0.001009"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:43.924260" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:43.923387" elapsed="0.001030"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:43.923317" elapsed="0.001165"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:43.942047" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:43.942210" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:43.942307" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:43.933430" elapsed="0.008904"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:43.942743" elapsed="0.000086"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:43.942411" elapsed="0.000491"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:43.948312" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:43.943232" elapsed="0.005193"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:43.942957" elapsed="0.005547"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:43.942393" elapsed="0.006160"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:43.948867" elapsed="0.000498"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:43.950081" elapsed="0.004143"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:43.949819" elapsed="0.004446"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:43.956601" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:43.954466" elapsed="0.002214">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:43.954349" elapsed="0.002423">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:43.949491" elapsed="0.007344">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:43.933020" elapsed="0.023915">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:43.921186" elapsed="0.035843">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:45.960122" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:45.959181" elapsed="0.001012"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:45.960981" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:45.960381" elapsed="0.000729"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:45.960334" elapsed="0.000830"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:45.978365" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:45.978523" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:45.978621" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:45.971218" elapsed="0.007430"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:45.979104" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:45.978749" elapsed="0.000413"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:45.981618" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:45.979314" elapsed="0.002377"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:45.979187" elapsed="0.002582"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:45.978706" elapsed="0.003105"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:45.982001" elapsed="0.000247"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:45.982686" elapsed="0.003049"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:45.982517" elapsed="0.003295"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:45.989061" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:45.986099" elapsed="0.003044">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:45.985933" elapsed="0.003291">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:45.982327" elapsed="0.006958">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:45.970627" elapsed="0.018763">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:45.958152" elapsed="0.031342">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:47.992410" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:47.991482" elapsed="0.000999"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:47.993274" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:47.992665" elapsed="0.000736"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:47.992620" elapsed="0.000834"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:48.011124" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:48.011334" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:48.011443" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:48.004433" elapsed="0.007037"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:48.011871" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:48.011548" elapsed="0.000406"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:48.015081" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:48.012158" elapsed="0.002995"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:48.011988" elapsed="0.003213"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:48.011529" elapsed="0.003703"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:48.015400" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:48.016081" elapsed="0.002950"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:48.015916" elapsed="0.003172"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:48.022319" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:48.019365" elapsed="0.003057">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:48.019201" elapsed="0.003323">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:48.015711" elapsed="0.006940">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:48.004012" elapsed="0.018809">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:47.990560" elapsed="0.032357">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:50.025979" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:50.025045" 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="NOT RUN" start="2026-08-15T23:48:50.026948" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:50.026347" elapsed="0.000733"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:50.026298" elapsed="0.000838"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:50.044059" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:50.044263" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:50.044396" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:50.036892" elapsed="0.007541"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:50.045000" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:50.044540" elapsed="0.000539"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:50.048130" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:50.045288" elapsed="0.002913"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:50.045114" elapsed="0.003135"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:50.044514" elapsed="0.003767"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:50.048451" elapsed="0.000295"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:50.049176" elapsed="0.003229"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:50.049013" elapsed="0.003452"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:50.055828" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:50.052786" elapsed="0.003148">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:50.052582" elapsed="0.003456">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:50.048828" elapsed="0.007297">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:50.036440" elapsed="0.019830">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:50.024004" elapsed="0.032447">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:52.059367" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:52.058444" elapsed="0.000994"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:52.060218" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:52.059622" elapsed="0.000724"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:52.059576" elapsed="0.000825"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:52.076312" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:52.076470" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:52.076567" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:52.070051" elapsed="0.006542"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:52.076987" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:52.076673" elapsed="0.000371"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:52.079807" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:52.077226" elapsed="0.002653"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:52.077067" elapsed="0.002861"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:52.076653" elapsed="0.003306"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:52.080129" elapsed="0.000233"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:52.080815" elapsed="0.002993"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:52.080626" elapsed="0.003240"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:52.086832" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:52.084147" elapsed="0.002762">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:52.083981" elapsed="0.003002">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:52.080440" elapsed="0.006602">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:52.069483" elapsed="0.017718">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:52.057472" elapsed="0.029827">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:54.090473" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:54.089377" elapsed="0.001172"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:54.091392" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:54.090790" elapsed="0.000743"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:54.090700" elapsed="0.000894"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:54.109554" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01h1j4pbws27p9l20spe1bidg22.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:54.109789" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:54.109909" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:54.102944" elapsed="0.006992"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:54.110371" elapsed="0.000072"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:54.110021" elapsed="0.000463"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:54.113459" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:54.110668" elapsed="0.002866"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:54.110512" elapsed="0.003071"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:54.109999" elapsed="0.003617"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:54.113828" elapsed="0.000254"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:54.114579" elapsed="0.003087"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:48:54.114368" elapsed="0.003383"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:54.120557" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:54.118055" elapsed="0.002602">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-15T23:48:54.117885" elapsed="0.002874">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:54.114169" elapsed="0.006740">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:54.102275" elapsed="0.018760">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:54.088337" elapsed="0.032795">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<msg time="2026-08-15T23:48:54.121228" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>CONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-08-15T23:47:22.543597" elapsed="91.577746">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-08-15T23:48:54.121536" elapsed="0.000022"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:48:54.122429" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-15T23:48:54.392356" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:48:54.392823" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:48:54.392930" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:48:54.393028" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:48:54.122241" elapsed="0.270840"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:54.394627" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:54.393840" elapsed="0.000926"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:48:54.395493" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-15T23:48:54.685538" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:48:54.685890" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:48:54.685993" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:48:54.686087" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:48:54.395102" elapsed="0.291037"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:48:54.687002" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-15T23:48:54.750449" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:48:54.750699" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-15T23:48:54.750839" level="INFO">${stderr} = </msg>
<msg time="2026-08-15T23:48:54.750928" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:48:54.686551" elapsed="0.064426"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:48:54.751539" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-15T23:48:54.804500" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:48:54.751321" elapsed="0.053316"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:54.817628" level="INFO">DELETE Request : url=http://10.30.171.145: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=node01h1j4pbws27p9l20spe1bidg22.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:54.817850" level="INFO">DELETE Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:54.817986" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:54.804984" elapsed="0.013037"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:54.825676" level="INFO">DELETE Request : url=http://10.30.171.145: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=node01h1j4pbws27p9l20spe1bidg22.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:54.826068" level="INFO">DELETE Response : url=http://10.30.171.145:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-15T23:48:54.826210" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:54.818326" elapsed="0.007920"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-15T23:48:54.121926" elapsed="0.704426"/>
</kw>
<doc>CallHome SSH device registered with global credentials should result to successful mount.</doc>
<status status="FAIL" start="2026-08-15T23:47:21.605875" elapsed="93.220561">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDylUhR/sTllWM2u/t8gznJ9jijc7ckMawCDMq4koStO6v1/+6nMVJXOtP9TfKLrfffobq/4UFllRooE+VeHVI1YJ2QPCDUm2TUhi8/3wMA3Dz1RisTbq6aoSjc0/q9S4vCnRZxLLYCGnvbtEnkRiHuQHwqDWpQPJ99PkNJtjQzNLlsPAtUQLTpBDVpOpmBWKL+MTF6IbxJMRTpq+wv4NjWVynKc0yB260XP1SYlecysIIwaU09jIQy+Kxu5B3a64vNDujUQXbeyLoZcK7bpmFDmm6lB11hA4MqaOqspVcxJ7juIIzeMIdiR2SyC6M1QT710rZ9sAL9x7mQPo8PY0t1"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</test>
<test id="s1-s1-t4" name="CallHome over SSH with incorrect global credentials" line="71">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:54.828813" level="INFO">Creating Session using : alias=session, url=http://10.30.171.145:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x712a5f4e9910&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-08-15T23:48:54.828430" elapsed="0.000608"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:48:54.829368" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-15T23:48:54.851657" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:48:54.829234" elapsed="0.022587"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:48:54.852352" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-08-15T23:48:55.052575" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:48:54.852134" elapsed="0.200659"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:48:55.053422" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-15T23:48:55.104789" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:48:55.105069" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MF...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:48:55.053170" elapsed="0.051964"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-15T23:48:55.113040" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MF...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-15T23:48:55.105530" elapsed="0.007580"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-15T23:48:54.828045" elapsed="0.285160"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:48:55.152379" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:48:55.113983" elapsed="0.038550"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:48:55.159855" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:48:55.152920" elapsed="0.007019"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-15T23:48:55.113490" elapsed="0.046544"/>
</kw>
<kw name="Register global credentials for SSH call-home devices" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-15T23:48:55.161218" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_global_credentials.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_global_credentials.json&lt;/a&gt;'.</msg>
<msg time="2026-08-15T23:48:55.161450" level="INFO">${template} = {
  "credentials": {
    "username": "{username}",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${template}</var>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-15T23:48:55.160847" elapsed="0.000640"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:48:55.162128" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:48:55.161703" elapsed="0.000464"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:48:55.162684" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "incorrect" ]
  }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:48:55.162369" elapsed="0.000375"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:55.177474" level="INFO">PUT Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '84', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "credentials": {
    "username": "root",
    "passwords": [ "incorrect" ]
  }
}
 
 </msg>
<msg time="2026-08-15T23:48:55.177546" level="INFO">PUT Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 status=204, reason=No Content 
 headers={'Set-Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 14-Aug-2026 23:48:55 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT'} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:55.177781" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${global_config_url}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:55.162999" elapsed="0.014824"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:55.178041" elapsed="0.004930"/>
</kw>
<arg>root</arg>
<arg>incorrect</arg>
<doc>Set global credentials for SSH call-home devices</doc>
<status status="PASS" start="2026-08-15T23:48:55.160310" elapsed="0.022877"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-15T23:48:55.192605" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-08-15T23:48:55.192792" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-15T23:48:55.192458" elapsed="0.000362"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-15T23:48:55.193314" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-15T23:48:55.192978" elapsed="0.000378"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:55.192195" elapsed="0.001215"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:55.188815" elapsed="0.004619"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-15T23:48:55.193645" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:55.193494" elapsed="0.000205"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:55.188784" elapsed="0.004983"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:48:55.194161" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:48:55.193919" elapsed="0.000268"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:48:55.194551" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:48:55.194327" elapsed="0.000250"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:48:55.195006" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:48:55.194721" elapsed="0.000313"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:48:55.195405" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+Dgbf...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:48:55.195179" elapsed="0.000254"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:55.205768" level="INFO">POST Request : url=http://10.30.171.145: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=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"
        }
    }
}
 
 </msg>
<msg time="2026-08-15T23:48:55.205903" level="INFO">POST Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:55.206029" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:55.195569" elapsed="0.010496"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:48:55.206286" elapsed="0.003102"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-08-15T23:48:55.183844" elapsed="0.025641"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:48:55.210060" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-15T23:48:55.466845" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:48:55.467200" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:48:55.467298" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:48:55.467390" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:48:55.209794" elapsed="0.257647"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:55.471160" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:55.470307" 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="PASS" start="2026-08-15T23:48:55.472000" elapsed="0.000520"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:55.471407" elapsed="0.001201"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:55.471353" elapsed="0.001315"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:55.488421" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:55.488619" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:55.488751" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:55.482145" elapsed="0.006634"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:55.489197" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:55.488857" elapsed="0.000417"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:55.492417" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:55.489477" elapsed="0.003011"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:55.489306" elapsed="0.003235"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:55.488838" elapsed="0.003735"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:55.492767" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:55.496588" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:55.493450" elapsed="0.003252">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:48:55.493283" elapsed="0.003626">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:55.493091" elapsed="0.003910">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:55.481730" elapsed="0.015401">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:55.469470" elapsed="0.027756">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:57.500159" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:57.499196" elapsed="0.001036"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:48:57.501094" elapsed="0.000316"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:57.500422" elapsed="0.001044"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:57.500374" elapsed="0.001129"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:57.518900" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:57.519129" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:57.519266" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:57.510519" elapsed="0.008784"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:57.519843" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:57.519412" elapsed="0.000509"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:57.523095" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:57.520129" elapsed="0.003052"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:57.519954" elapsed="0.003287"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:57.519386" elapsed="0.003893"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:57.523463" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:57.529830" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:57.524173" elapsed="0.005940">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:48:57.524006" elapsed="0.006312">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:57.523811" elapsed="0.006655">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:57.510098" elapsed="0.020606">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:57.498174" elapsed="0.032796">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:48:59.533803" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:48:59.532842" elapsed="0.001030"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:48:59.534462" elapsed="0.000329"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:59.534051" elapsed="0.000797"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:59.534006" elapsed="0.000879"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:48:59.550993" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:48:59.551233" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:48:59.551381" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:48:59.544192" elapsed="0.007227"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:48:59.552015" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:48:59.551543" elapsed="0.000554"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:48:59.555416" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:48:59.552316" elapsed="0.003177"/>
</kw>
<status status="PASS" start="2026-08-15T23:48:59.552133" elapsed="0.003412"/>
</branch>
<status status="PASS" start="2026-08-15T23:48:59.551513" elapsed="0.004065"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:48:59.555859" elapsed="0.000250"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:48:59.559308" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:48:59.556573" elapsed="0.002815">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:48:59.556392" elapsed="0.003076">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:48:59.556194" elapsed="0.003340">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:48:59.543686" elapsed="0.015951">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:48:59.531939" elapsed="0.027813">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:01.562901" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:01.561955" elapsed="0.001016"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:01.563811" elapsed="0.000460"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:01.563155" elapsed="0.001171"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:01.563109" elapsed="0.001252"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:01.580492" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:01.580661" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:01.580792" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:01.573452" elapsed="0.007366"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:01.581181" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:01.580896" elapsed="0.000341"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:01.584390" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:01.581525" elapsed="0.002936"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:01.581345" elapsed="0.003166"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:01.580877" elapsed="0.003665"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:01.584737" elapsed="0.000239"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:01.588483" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:01.585403" elapsed="0.003188">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:01.585238" elapsed="0.003458">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:01.585054" elapsed="0.003761">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:01.573036" elapsed="0.015922">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:01.560975" elapsed="0.028118">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:03.592112" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:03.591065" elapsed="0.001121"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:03.593013" elapsed="0.000476"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:03.592378" elapsed="0.001201"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:03.592329" elapsed="0.001306"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:03.610945" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:03.611112" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:03.611277" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:03.603937" elapsed="0.007366"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:03.611735" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:03.611415" elapsed="0.000379"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:03.614643" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:03.611945" elapsed="0.002789"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:03.611817" elapsed="0.002969"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:03.611396" elapsed="0.003421"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:03.614991" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:03.618936" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:03.615675" elapsed="0.003368">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:03.615511" elapsed="0.003634">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:03.615306" elapsed="0.003927">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:03.603332" elapsed="0.016079">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:03.590040" elapsed="0.029510">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:05.622361" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:05.621362" elapsed="0.001071"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:05.623209" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:05.622616" elapsed="0.001168"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:05.622571" elapsed="0.001269"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:05.641116" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:05.641341" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:05.641440" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:05.634146" elapsed="0.007322"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:05.641928" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:05.641551" elapsed="0.000435"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:05.644855" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:05.642134" elapsed="0.002794"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:05.642010" elapsed="0.002968"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:05.641532" elapsed="0.003477"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:05.645181" elapsed="0.000234"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:05.648935" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:05.645890" elapsed="0.003152">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:05.645706" elapsed="0.003443">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:05.645501" elapsed="0.003734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:05.633731" elapsed="0.015647">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:05.620433" elapsed="0.029079">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:07.653246" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:07.652238" elapsed="0.001081"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:07.654123" elapsed="0.000672"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:07.653515" elapsed="0.001382"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:07.653464" elapsed="0.001495"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:07.671092" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:07.671271" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:07.671381" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:07.664294" elapsed="0.007113"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:07.671792" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:07.671485" elapsed="0.000365"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:07.674024" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:07.671996" elapsed="0.002078"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:07.671873" elapsed="0.002236"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:07.671467" elapsed="0.002664"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:07.674252" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:07.676899" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:07.674763" elapsed="0.002219">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:07.674619" elapsed="0.002453">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:07.674479" elapsed="0.002671">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:07.663879" elapsed="0.013376">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:07.651028" elapsed="0.026327">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:09.680261" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:09.679259" elapsed="0.001074"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:09.681138" elapsed="0.000459"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:09.680519" elapsed="0.001166"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:09.680473" elapsed="0.001300"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:09.700881" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:09.701062" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:09.701169" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:09.693489" elapsed="0.007707"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:09.701610" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:09.701288" elapsed="0.000386"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:09.704137" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:09.701845" elapsed="0.002363"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:09.701698" elapsed="0.002559"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:09.701262" elapsed="0.003024"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:09.704457" elapsed="0.000250"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:09.708522" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:09.705178" elapsed="0.003455">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:09.705007" elapsed="0.003751">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:09.704811" elapsed="0.004037">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:09.692860" elapsed="0.016129">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:09.678263" elapsed="0.030927">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:11.712036" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:11.711112" elapsed="0.000996"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:11.712881" elapsed="0.000461"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:11.712291" elapsed="0.001141"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:11.712246" elapsed="0.001242"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:11.730359" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:11.730640" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:11.730831" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:11.722936" elapsed="0.007923"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:11.731232" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:11.730939" elapsed="0.000351"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:11.733515" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:11.731440" elapsed="0.002127"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:11.731314" elapsed="0.002289"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:11.730920" elapsed="0.002705"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:11.733764" elapsed="0.000173"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:11.736522" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:11.734325" elapsed="0.002279">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:11.734183" elapsed="0.002498">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:11.733995" elapsed="0.002767">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:11.722500" elapsed="0.014456">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:11.710178" elapsed="0.026879">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:13.739847" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:13.738924" elapsed="0.000996"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:13.740680" elapsed="0.000521"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:13.740105" elapsed="0.001186"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:13.740059" elapsed="0.001287"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:13.760569" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:13.760780" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:13.760906" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:13.753624" elapsed="0.007311"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:13.761395" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:13.761059" elapsed="0.000395"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:13.764608" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:13.761604" elapsed="0.003076"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:13.761479" elapsed="0.003273"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:13.761037" elapsed="0.003748"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:13.764978" elapsed="0.000252"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:13.769025" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:13.765692" elapsed="0.003445">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:13.765507" elapsed="0.003734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:13.765313" elapsed="0.004094">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:13.752981" elapsed="0.016574">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:13.737968" elapsed="0.031739">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:15.772861" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:15.771834" elapsed="0.001108"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:15.773799" elapsed="0.000505"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:15.773154" elapsed="0.001253"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:15.773089" elapsed="0.001374"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:15.793415" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:15.793585" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:15.793686" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:15.787980" elapsed="0.005759"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:15.794123" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:15.793827" elapsed="0.000370"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:15.796872" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:15.794356" elapsed="0.002607"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:15.794225" elapsed="0.002791"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:15.793807" elapsed="0.003240"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:15.797220" elapsed="0.000267"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:15.801445" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:15.797956" elapsed="0.003640">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:15.797787" elapsed="0.004015">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:15.797572" elapsed="0.004349">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:15.787339" elapsed="0.014746">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:15.770782" elapsed="0.031441">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:17.804339" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:17.803690" elapsed="0.000701"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:17.804917" elapsed="0.000299"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:17.804523" elapsed="0.000749"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:17.804488" elapsed="0.000819"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:17.822463" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:17.822680" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:17.822852" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:17.814768" elapsed="0.008124"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:17.823417" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:17.823004" elapsed="0.000491"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:17.826656" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:17.823762" elapsed="0.002988"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:17.823528" elapsed="0.003282"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:17.822978" elapsed="0.003870"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:17.827048" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:17.830805" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:17.827769" elapsed="0.003222">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:17.827547" elapsed="0.003550">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:17.827363" elapsed="0.003822">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:17.814165" elapsed="0.017162">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:17.803014" elapsed="0.028446">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:19.833064" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:19.832561" elapsed="0.000541"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:19.833468" elapsed="0.000216"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:19.833200" elapsed="0.000541"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:19.833175" elapsed="0.000594"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:19.852190" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:19.852562" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:19.852901" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:19.841950" elapsed="0.011017"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:19.853887" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:19.853148" elapsed="0.000875"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:19.858344" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:19.854357" elapsed="0.004062"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:19.854077" elapsed="0.004391"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:19.853105" elapsed="0.005392"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:19.858766" elapsed="0.000244"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:19.862603" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:19.859480" elapsed="0.003263">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:19.859306" elapsed="0.003550">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:19.859092" elapsed="0.003856">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:19.841513" elapsed="0.021580">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:19.832066" elapsed="0.031163">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:21.866189" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:21.865181" elapsed="0.001082"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:21.867043" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:21.866452" elapsed="0.001137"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:21.866405" elapsed="0.001238"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:21.884793" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:21.884961" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:21.885061" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:21.878055" elapsed="0.007033"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:21.885459" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:21.885167" elapsed="0.000350"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:21.888332" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:21.885809" elapsed="0.002596"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:21.885629" elapsed="0.002825"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:21.885148" elapsed="0.003336"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:21.888654" elapsed="0.000257"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:21.892664" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:21.889340" elapsed="0.003453">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:21.889173" elapsed="0.003726">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:21.888990" elapsed="0.003997">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:21.877430" elapsed="0.015698">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:21.864191" elapsed="0.029068">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:23.896667" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:23.895414" elapsed="0.001386"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:23.897886" elapsed="0.000624"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:23.897076" elapsed="0.001548"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:23.897003" elapsed="0.001685"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:23.915430" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:23.915636" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:23.915871" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:23.908867" elapsed="0.007034"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:23.916416" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:23.916021" elapsed="0.000461"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:23.920125" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:23.916667" elapsed="0.003539"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:23.916509" elapsed="0.003751"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:23.915990" elapsed="0.004303"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:23.920482" elapsed="0.000281"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:23.924609" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:23.921249" elapsed="0.003491">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:23.921058" elapsed="0.003790">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:23.920852" elapsed="0.004084">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:23.908334" elapsed="0.016750">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:23.894257" elapsed="0.030962">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:25.928075" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:25.927109" 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-08-15T23:49:25.928925" elapsed="0.000458"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:25.928331" elapsed="0.001140"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:25.928287" elapsed="0.001240"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:25.947396" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:25.947678" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:25.947895" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:25.940104" elapsed="0.007831"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:25.948448" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:25.948045" elapsed="0.000481"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:25.951572" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:25.948748" elapsed="0.002895"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:25.948558" elapsed="0.003134"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:25.948019" elapsed="0.003723"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:25.951946" elapsed="0.000243"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:25.955656" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:25.952614" elapsed="0.003170">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:25.952451" elapsed="0.003453">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:25.952267" elapsed="0.003726">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:25.939660" elapsed="0.016477">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:25.926144" elapsed="0.030126">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:27.958979" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:27.958094" 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-08-15T23:49:27.959810" elapsed="0.000573"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:27.959236" elapsed="0.001237"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:27.959191" elapsed="0.001337"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:27.977507" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:27.977672" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:27.977790" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:27.970087" elapsed="0.007733"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:27.978190" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:27.977899" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:27.980491" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:27.978398" elapsed="0.002144"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:27.978271" elapsed="0.002307"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:27.977881" elapsed="0.002720"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:27.980738" elapsed="0.000223"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:27.984679" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:27.981356" elapsed="0.003454">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:27.981190" elapsed="0.003743">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:27.981025" elapsed="0.003996">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:27.969496" elapsed="0.015672">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:27.957204" elapsed="0.028106">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:29.988245" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:29.987315" elapsed="0.001003"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:29.989094" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:29.988502" elapsed="0.001139"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:29.988457" elapsed="0.001238"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:30.005546" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:30.005704" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:30.005822" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:29.998912" elapsed="0.006937"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:30.006259" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:30.005927" elapsed="0.000413"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:30.009463" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:30.006548" elapsed="0.002987"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:30.006374" elapsed="0.003210"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:30.005909" elapsed="0.003706"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:30.009807" elapsed="0.000268"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:30.013556" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:30.010557" elapsed="0.003105">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:30.010389" elapsed="0.003398">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:30.010160" elapsed="0.003715">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:29.998482" elapsed="0.015565">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:29.986333" elapsed="0.027941">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:32.017031" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:32.016124" elapsed="0.000977"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:32.017869" elapsed="0.000456"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:32.017282" elapsed="0.001131"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:32.017237" elapsed="0.001232"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:32.035177" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:32.035343" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:32.035450" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:32.028220" elapsed="0.007256"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:32.035868" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:32.035555" elapsed="0.000370"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:32.038101" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:32.036073" elapsed="0.002079"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:32.035949" elapsed="0.002238"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:32.035536" elapsed="0.002673"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:32.038332" elapsed="0.000167"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:32.041708" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:32.038822" elapsed="0.003012">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:32.038688" elapsed="0.003250">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:32.038555" elapsed="0.003469">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:32.027800" elapsed="0.014425">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:32.015174" elapsed="0.027185">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:34.044454" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:34.043826" elapsed="0.000675"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:34.045007" elapsed="0.000291"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:34.044628" elapsed="0.000723"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:34.044594" elapsed="0.000796"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:34.061988" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:34.062230" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:34.062376" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:34.054432" elapsed="0.007980"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:34.062944" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:34.062518" elapsed="0.000500"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:34.066052" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:34.063231" elapsed="0.002896"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:34.063052" elapsed="0.003124"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:34.062492" elapsed="0.003715"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:34.066383" elapsed="0.000254"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:34.070375" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:34.067116" elapsed="0.003379">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:34.066937" elapsed="0.003670">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:34.066740" elapsed="0.004053">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:34.053834" elapsed="0.017117">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:34.043134" elapsed="0.027959">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:36.073838" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:36.072908" elapsed="0.001000"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:36.074649" elapsed="0.000481"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:36.074091" elapsed="0.001126"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:36.074046" elapsed="0.001227"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:36.092470" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:36.092641" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:36.092766" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:36.085684" elapsed="0.007110"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:36.093256" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:36.092879" elapsed="0.000437"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:36.096703" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:36.093531" elapsed="0.003269"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:36.093342" elapsed="0.003511"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:36.092859" elapsed="0.004026"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:36.097071" elapsed="0.000267"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:36.101012" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:36.097824" elapsed="0.003297">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:36.097623" elapsed="0.003710">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:36.097427" elapsed="0.003982">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:36.085202" elapsed="0.016311">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:36.071992" elapsed="0.029618">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:38.104437" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:38.103515" elapsed="0.000993"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:38.105292" elapsed="0.000492"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:38.104690" elapsed="0.001185"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:38.104646" elapsed="0.001287"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:38.123705" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:38.124060" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:38.124301" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:38.115674" elapsed="0.008686"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:38.125204" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:38.124534" elapsed="0.000793"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:38.130669" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:38.125651" elapsed="0.005166"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:38.125380" elapsed="0.005514"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:38.124493" elapsed="0.006449"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:38.131211" elapsed="0.000364"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:38.136016" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:38.132388" elapsed="0.003812">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:38.132073" elapsed="0.004231">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:38.131696" elapsed="0.004685">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:38.115098" elapsed="0.021388">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:38.102575" elapsed="0.034006">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:40.139487" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:40.138401" elapsed="0.001158"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:40.140407" elapsed="0.000557"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:40.139815" elapsed="0.001246"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:40.139712" elapsed="0.001407"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:40.159706" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:40.159979" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:40.160123" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:40.152773" elapsed="0.007388"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:40.160778" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:40.160273" elapsed="0.000591"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:40.164237" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:40.161092" elapsed="0.003221"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:40.160900" elapsed="0.003464"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:40.160246" elapsed="0.004150"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:40.164665" elapsed="0.000298"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:40.168906" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:40.165424" elapsed="0.003614">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:40.165246" elapsed="0.003905">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:40.165049" elapsed="0.004190">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:40.152316" elapsed="0.017068">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:40.137461" elapsed="0.032060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:42.172795" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:42.171551" elapsed="0.001326"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:42.173801" elapsed="0.000521"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:42.173086" elapsed="0.001333"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:42.173033" elapsed="0.001453"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:42.191273" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:42.191456" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:42.191568" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:42.184626" elapsed="0.006969"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:42.192220" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:42.191753" elapsed="0.000597"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:42.195885" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:42.192670" elapsed="0.003294"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:42.192467" elapsed="0.003550"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:42.191688" elapsed="0.004361"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:42.196237" elapsed="0.000305"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:42.200450" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:42.197060" elapsed="0.003506">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:42.196868" elapsed="0.003796">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:42.196636" elapsed="0.004117">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:42.184165" elapsed="0.016701">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:42.170545" elapsed="0.030420">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:44.203978" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:44.203069" elapsed="0.000982"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:44.204815" elapsed="0.000453"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:44.204231" elapsed="0.001126"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:44.204186" elapsed="0.001246"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:44.220175" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:44.220339" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:44.220505" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:44.214560" elapsed="0.005972"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:44.221048" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:44.220611" elapsed="0.000516"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:44.224219" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:44.221335" elapsed="0.002956"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:44.221161" elapsed="0.003178"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:44.220592" elapsed="0.003779"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:44.224542" elapsed="0.000264"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:44.228261" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:44.225238" elapsed="0.003128">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:44.225069" elapsed="0.003400">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:44.224885" elapsed="0.003670">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:44.214129" elapsed="0.014567">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:44.202145" elapsed="0.026720">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:46.231667" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:46.230779" elapsed="0.000993"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:46.232517" elapsed="0.000491"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:46.231958" elapsed="0.001136"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:46.231912" elapsed="0.001237"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:46.249225" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:46.249431" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:46.249529" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:46.242770" elapsed="0.006786"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:46.250060" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:46.249635" elapsed="0.000505"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:46.253267" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:46.250349" elapsed="0.002991"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:46.250174" elapsed="0.003214"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:46.249616" elapsed="0.003804"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:46.253593" elapsed="0.000258"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:46.257623" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:46.254280" elapsed="0.003471">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:46.254115" elapsed="0.003742">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:46.253929" elapsed="0.004016">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:46.242332" elapsed="0.015755">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:46.229824" elapsed="0.028396">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:48.261526" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:48.260516" elapsed="0.001085"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:48.262448" elapsed="0.000654"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:48.261836" elapsed="0.001361"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:48.261783" elapsed="0.001470"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:48.283655" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:48.283844" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:48.283945" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:48.276576" elapsed="0.007396"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:48.284353" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:48.284053" elapsed="0.000357"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:48.287049" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:48.284563" elapsed="0.002558"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:48.284434" elapsed="0.002737"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:48.284033" elapsed="0.003168"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:48.287373" elapsed="0.000233"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:48.291093" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:48.288058" elapsed="0.003141">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:48.287893" elapsed="0.003406">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:48.287684" elapsed="0.003700">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:48.275989" elapsed="0.015535">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:48.259445" elapsed="0.032209">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:50.294699" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:50.293793" elapsed="0.001011"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:50.295617" elapsed="0.000397"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:50.294994" elapsed="0.001076"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:50.294945" elapsed="0.001161"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:50.311459" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:50.311652" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:50.311788" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:50.305129" elapsed="0.006687"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:50.312333" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:50.311929" elapsed="0.000483"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:50.315523" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:50.312617" elapsed="0.002979"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:50.312446" elapsed="0.003223"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:50.311902" elapsed="0.003800"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:50.315895" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:50.319621" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:50.316560" elapsed="0.003218">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:50.316394" elapsed="0.003491">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:50.316209" elapsed="0.003762">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:50.304691" elapsed="0.015421">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:50.292810" elapsed="0.027511">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:52.323313" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:52.322353" elapsed="0.001033"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:52.324187" elapsed="0.000295"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:52.323641" elapsed="0.000897"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:52.323594" elapsed="0.000978"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:52.339365" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:52.339544" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:52.339647" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:52.333184" elapsed="0.006522"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:52.340245" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:52.339817" elapsed="0.000505"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:52.343631" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:52.340527" elapsed="0.003177"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:52.340356" elapsed="0.003436"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:52.339796" elapsed="0.004027"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:52.343995" elapsed="0.000242"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:52.347764" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:52.344668" elapsed="0.003246">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:52.344500" elapsed="0.003520">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:52.344317" elapsed="0.003789">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:52.332765" elapsed="0.015553">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:52.321352" elapsed="0.027101">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:54.351286" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:54.350359" elapsed="0.001000"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:54.352197" elapsed="0.000454"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:54.351605" elapsed="0.001168"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:54.351557" elapsed="0.001275"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:54.367206" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:54.367375" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:54.367473" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:54.361110" elapsed="0.006390"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:54.367934" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:54.367607" elapsed="0.000389"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:54.370224" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:54.368143" elapsed="0.002132"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:54.368020" elapsed="0.002290"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:54.367585" elapsed="0.002747"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:54.370456" elapsed="0.000171"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:54.373634" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:54.370962" elapsed="0.002800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:54.370842" elapsed="0.003026">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:54.370687" elapsed="0.003339">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:54.360681" elapsed="0.013492">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:54.349407" elapsed="0.024899">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:56.377302" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:56.376346" elapsed="0.001030"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:49:56.378156" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:56.377566" elapsed="0.001137"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:56.377518" elapsed="0.001280"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:56.397703" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:56.397906" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:56.398022" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:56.390753" elapsed="0.007295"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:56.398464" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:56.398139" elapsed="0.000382"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:56.400743" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:56.398670" elapsed="0.002128"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:56.398546" elapsed="0.002287"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:56.398116" elapsed="0.002739"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:56.400978" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:56.404603" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:56.401643" elapsed="0.003074">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:56.401516" elapsed="0.003404">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:56.401211" elapsed="0.003801">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:56.390289" elapsed="0.014866">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:56.375359" elapsed="0.029961">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:49:58.408244" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:49:58.407287" 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="PASS" start="2026-08-15T23:49:58.409110" elapsed="0.000486"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:58.408513" elapsed="0.001172"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:58.408467" elapsed="0.001307"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:49:58.426624" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:49:58.426922" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:49:58.427110" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:49:58.418813" elapsed="0.008355"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:49:58.427559" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:49:58.427267" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:49:58.429887" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:49:58.427783" elapsed="0.002158"/>
</kw>
<status status="PASS" start="2026-08-15T23:49:58.427640" elapsed="0.002386"/>
</branch>
<status status="PASS" start="2026-08-15T23:49:58.427249" elapsed="0.002808"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:49:58.430188" elapsed="0.000171"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:49:58.433794" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:49:58.430669" elapsed="0.003301">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:49:58.430549" elapsed="0.003544">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:49:58.430415" elapsed="0.003776">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:49:58.418383" elapsed="0.015950">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:49:58.406301" elapsed="0.028166">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:00.436120" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:00.435663" elapsed="0.000494"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:00.436521" elapsed="0.000231"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:00.436254" elapsed="0.000538"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:00.436231" elapsed="0.000588"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:00.450781" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:00.450941" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:00.451055" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:00.443376" elapsed="0.007707"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:00.451459" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:00.451167" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:00.453734" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:00.451664" elapsed="0.002124"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:00.451539" elapsed="0.002284"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:00.451146" elapsed="0.002698"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:00.454025" elapsed="0.000175"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:00.456698" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:00.454511" elapsed="0.002284">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:50:00.454392" elapsed="0.002478">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:00.454259" elapsed="0.002673">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:00.442962" elapsed="0.014072">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:00.435150" elapsed="0.021980">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:02.460018" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:02.459074" elapsed="0.001017"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:02.460870" elapsed="0.000489"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:02.460280" elapsed="0.001169"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:02.460233" elapsed="0.001272"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:02.477679" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:02.477862" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:02.477980" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:02.471023" elapsed="0.006983"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:02.478384" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:02.478085" elapsed="0.000355"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:02.480786" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:02.478650" elapsed="0.002187"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:02.478522" elapsed="0.002350"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:02.478066" elapsed="0.002828"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:02.481016" elapsed="0.000170"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:02.484270" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:02.481537" elapsed="0.002840">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:50:02.481418" elapsed="0.003063">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:02.481279" elapsed="0.003288">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:02.470589" elapsed="0.014117">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:02.458085" elapsed="0.026780">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:04.487852" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:04.486850" elapsed="0.001077"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:04.488767" elapsed="0.000535"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:04.488118" elapsed="0.001286"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:04.488070" elapsed="0.001395"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:04.509757" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:04.509951" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:04.510155" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:04.503147" elapsed="0.007039"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:04.510742" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:04.510277" elapsed="0.000548"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:04.514145" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:04.511038" elapsed="0.003185"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:04.510859" elapsed="0.003445"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:04.510255" elapsed="0.004094"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:04.514531" elapsed="0.000269"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:04.518623" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:04.515247" elapsed="0.003457">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:50:04.515074" elapsed="0.003725">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:04.514885" elapsed="0.003978">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:04.502572" elapsed="0.016391">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:04.485879" elapsed="0.033177">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:06.521962" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:06.520999" elapsed="0.001035"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:06.522850" elapsed="0.000461"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:06.522219" elapsed="0.001179"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:06.522172" elapsed="0.001281"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:06.541789" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:06.542024" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:06.542122" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:06.534493" elapsed="0.007656"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:06.542519" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:06.542228" elapsed="0.000347"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:06.545107" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:06.542741" elapsed="0.002438"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:06.542600" elapsed="0.002629"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:06.542209" elapsed="0.003051"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:06.545437" elapsed="0.000234"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:06.549221" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:06.546126" elapsed="0.003202">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:50:06.545959" elapsed="0.003478">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:06.545772" elapsed="0.003750">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:06.533912" elapsed="0.015751">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:06.520033" elapsed="0.029797">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:08.552567" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:08.551649" elapsed="0.000991"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:08.553441" elapsed="0.000622"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:08.552882" elapsed="0.001273"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:08.552834" elapsed="0.001377"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:08.571650" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:08.571840" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:08.571950" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:08.564910" elapsed="0.007067"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:08.572347" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:08.572056" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:08.575191" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:08.572557" elapsed="0.002706"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:08.572429" elapsed="0.002883"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:08.572037" elapsed="0.003305"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:08.575513" elapsed="0.000259"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:08.579222" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:08.576205" elapsed="0.003125">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:50:08.576039" elapsed="0.003394">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:08.575852" elapsed="0.003667">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:08.564287" elapsed="0.015373">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:08.550708" elapsed="0.029108">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:10.582912" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:10.581956" elapsed="0.001030"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:10.583773" elapsed="0.000463"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:10.583180" elapsed="0.001145"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:10.583130" elapsed="0.001252"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:10.600590" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:10.600781" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:10.600883" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:10.594044" elapsed="0.006866"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:10.601351" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:10.600988" elapsed="0.000421"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:10.604616" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:10.601606" elapsed="0.003082"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:10.601433" elapsed="0.003326"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:10.600970" elapsed="0.003821"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:10.604964" elapsed="0.000272"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:10.609216" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:10.605684" elapsed="0.003657">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:50:10.605516" elapsed="0.003933">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:10.605322" elapsed="0.004220">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:10.593596" elapsed="0.016063">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:10.580849" elapsed="0.028983">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:12.612831" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:12.611850" elapsed="0.001055"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:12.613693" elapsed="0.000500"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:12.613105" elapsed="0.001177"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:12.613055" elapsed="0.001284"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:12.632107" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:12.632281" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:12.632381" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:12.625197" elapsed="0.007209"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:12.632970" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:12.632505" elapsed="0.000545"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:12.636099" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:12.633256" elapsed="0.002914"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:12.633083" elapsed="0.003136"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:12.632485" elapsed="0.003764"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:12.636421" elapsed="0.000254"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:12.640146" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:12.637140" elapsed="0.003115">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:50:12.636974" elapsed="0.003386">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:12.636784" elapsed="0.003665">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:12.624753" elapsed="0.015950">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:12.610809" elapsed="0.030054">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:14.644155" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:14.643162" elapsed="0.001068"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:14.645055" elapsed="0.000467"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:14.644425" elapsed="0.001190"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:14.644376" elapsed="0.001306"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:14.661808" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:14.661982" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:14.662093" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:14.656277" elapsed="0.005843"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:14.662492" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:14.662199" elapsed="0.000351"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:14.665332" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:14.662702" elapsed="0.002702"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:14.662574" elapsed="0.002878"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:14.662180" elapsed="0.003304"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:14.665673" elapsed="0.000297"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:14.669544" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:14.666409" elapsed="0.003261">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:50:14.666241" elapsed="0.003586">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:14.666052" elapsed="0.003979">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:14.655854" elapsed="0.014329">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:14.642055" elapsed="0.028260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:16.673340" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:16.672343" elapsed="0.001072"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:16.674292" elapsed="0.000517"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:16.673605" elapsed="0.001298"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:16.673559" elapsed="0.001401"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:16.692775" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:16.692945" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:16.693046" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:16.685606" elapsed="0.007466"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:16.693446" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:16.693153" elapsed="0.000350"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:16.695766" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:16.693651" elapsed="0.002169"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:16.693527" elapsed="0.002328"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:16.693135" elapsed="0.002742"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:16.696002" elapsed="0.000171"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:16.699046" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:16.696495" elapsed="0.002662">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:50:16.696376" elapsed="0.002956">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:16.696233" elapsed="0.003193">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:16.685026" elapsed="0.014547">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:16.671304" elapsed="0.028404">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:18.702583" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:18.701659" elapsed="0.000996"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:18.703432" elapsed="0.000516"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:18.702875" elapsed="0.001161"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:18.702826" elapsed="0.001266"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:18.719766" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:18.720025" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:18.720171" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:18.713240" elapsed="0.006967"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:18.720738" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:18.720316" elapsed="0.000507"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:18.723843" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:18.721029" elapsed="0.002902"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:18.720856" elapsed="0.003127"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:18.720290" elapsed="0.003723"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:18.724185" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:18.727864" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:18.724877" elapsed="0.003235">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:50:18.724686" elapsed="0.003535">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:18.724499" elapsed="0.003811">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:18.712827" elapsed="0.015624">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:18.700699" elapsed="0.027885">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:20.731770" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:20.730645" elapsed="0.001211"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:20.732770" elapsed="0.000617"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:20.732149" elapsed="0.001332"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:20.732083" elapsed="0.001455"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:20.753491" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:20.753737" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:20.753912" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:20.745311" elapsed="0.008647"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:20.754477" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:20.754073" elapsed="0.000482"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:20.757623" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:20.754783" elapsed="0.002911"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:20.754587" elapsed="0.003174"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:20.754048" elapsed="0.003746"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:20.758049" elapsed="0.000240"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:20.761508" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:20.758739" elapsed="0.002848">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:50:20.758551" elapsed="0.003110">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:20.758366" elapsed="0.003372">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:20.744322" elapsed="0.017525">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:20.729551" elapsed="0.032393">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:22.764696" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:22.763812" 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="PASS" start="2026-08-15T23:50:22.765541" elapsed="0.000536"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:22.764985" elapsed="0.001178"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:22.764940" elapsed="0.001278"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:22.783129" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:22.783292" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:22.783389" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:22.775642" elapsed="0.007772"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:22.783803" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:22.783491" elapsed="0.000368"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:22.786154" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:22.784076" elapsed="0.002130"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:22.783946" elapsed="0.002295"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:22.783473" elapsed="0.002790"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:22.786388" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:22.789238" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:22.786886" elapsed="0.002431">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:50:22.786765" elapsed="0.002627">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:22.786615" elapsed="0.002839">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:22.775067" elapsed="0.014518">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:22.762887" elapsed="0.026794">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:24.792515" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:24.791560" elapsed="0.001024"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:24.793357" elapsed="0.000484"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:24.792796" elapsed="0.001132"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:24.792748" elapsed="0.001239"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:24.811139" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:24.811365" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:24.811579" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:24.804462" elapsed="0.007154"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:24.812181" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:24.811752" elapsed="0.000506"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:24.815310" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:24.812466" elapsed="0.002916"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:24.812291" elapsed="0.003139"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:24.811699" elapsed="0.003763"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:24.815635" elapsed="0.000276"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:24.819398" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:24.816348" elapsed="0.003161">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:50:24.816178" elapsed="0.003439">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:24.815992" elapsed="0.003800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:24.804039" elapsed="0.015946">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:24.790582" elapsed="0.029559">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:26.823016" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:26.822093" 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-08-15T23:50:26.823859" elapsed="0.000534"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:26.823270" elapsed="0.001232"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:26.823223" elapsed="0.001339"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:26.841618" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:26.841855" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:26.841966" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:26.834581" elapsed="0.007412"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:26.842370" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:26.842078" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:26.844602" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:26.842576" elapsed="0.002078"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:26.842451" elapsed="0.002237"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:26.842057" elapsed="0.002666"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:26.844850" elapsed="0.000200"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:26.848101" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:26.845360" elapsed="0.002847">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-15T23:50:26.845240" elapsed="0.003071">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:26.845107" elapsed="0.003292">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:26.834159" elapsed="0.014379">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:26.821089" elapsed="0.027581">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<msg time="2026-08-15T23:50:26.848817" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-08-15T23:48:55.468011" elapsed="91.381019">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-08-15T23:50:26.849283" elapsed="0.000030"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:26.850468" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-15T23:50:27.119447" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:50:27.119780" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:50:27.119885" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:50:27.119980" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:26.850227" elapsed="0.269806"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:27.121016" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:27.120398" elapsed="0.000714"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:27.121819" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-15T23:50:27.422540" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:50:27.422960" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:50:27.423068" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:50:27.423163" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:27.121414" elapsed="0.301805"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:27.424205" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-15T23:50:27.483445" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:50:27.483708" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-15T23:50:27.483843" level="INFO">${stderr} = </msg>
<msg time="2026-08-15T23:50:27.483931" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:27.423734" elapsed="0.060247"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:27.484575" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-15T23:50:27.537077" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:27.484346" elapsed="0.052881"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:27.551083" level="INFO">DELETE Request : url=http://10.30.171.145: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=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:27.551183" level="INFO">DELETE Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:27.551383" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:27.537568" elapsed="0.013871"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:27.559553" level="INFO">DELETE Request : url=http://10.30.171.145: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=node01si5nv6t47mcakj46adzbyzyq3.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:27.559905" level="INFO">DELETE Response : url=http://10.30.171.145:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-15T23:50:27.560148" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:27.551786" elapsed="0.008425"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-15T23:50:26.849792" elapsed="0.710584"/>
</kw>
<doc>CallHome SSH device registered with wrong global credentials should fail to mount.</doc>
<status status="FAIL" start="2026-08-15T23:48:54.827087" elapsed="92.733406">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQD1GMHIjfZbcs/WcEud/jFCy0wjtXoNWYn+XrdqoS/P4w60HzNDstzX/Lo+DgbfyQdlQxByH/y5oNkMexA3tTIBHef05Vh2gKg2JHal49YU5xID1G8XMISfSpDABQwmS/J+cs2RodneQHH5spKBleaKs8u1WSjK4ora2qinU4MFr7J5uK3H4A4TW7KZREZZcG7ZyKkYNI7zT5f3fxfdbmZnNCshNwveWEAUfFjovdEoqkwx4vS1nJLs1kzEEI89TD10Z0CZv7PRfhq4P4GGSLrdTh9Rr8VlKnN5EwS1iq1aWoqsadfXnOlA0bKMzC+uk57BveBF1V8flj4ntEZpXjC7"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</test>
<test id="s1-s1-t5" name="CallHome with Incorrect Node-id" line="91">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:27.563854" level="INFO">Creating Session using : alias=session, url=http://10.30.171.145:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x712a5f3c9ad0&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-08-15T23:50:27.563413" elapsed="0.000652"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:27.564399" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-15T23:50:27.585066" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:27.564263" elapsed="0.021000"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:27.586223" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-08-15T23:50:27.748056" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:27.585775" elapsed="0.162490"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:27.749018" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-15T23:50:27.797114" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:50:27.797435" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDFioWc/S+ZAHi1VRQMGxkdUI5U8HCZE1OEj2iv38YcIFWbKy2c+dJi694sUniF7ir1AveCxD0wUcGyO74i7IEOr/s4w6JGkPIGzMXxrEEEE46TiEtGnAJo14Jw/RWx+aP72x1yyMsYXCTq4iFCE38EvfvK8E9GPF8zY853ZGtC...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:27.748695" elapsed="0.048802"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-15T23:50:27.806306" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDFioWc/S+ZAHi1VRQMGxkdUI5U8HCZE1OEj2iv38YcIFWbKy2c+dJi694sUniF7ir1AveCxD0wUcGyO74i7IEOr/s4w6JGkPIGzMXxrEEEE46TiEtGnAJo14Jw/RWx+aP72x1yyMsYXCTq4iFCE38EvfvK8E9GPF8zY853ZGtC...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-15T23:50:27.797980" elapsed="0.008400"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-15T23:50:27.563046" elapsed="0.243434"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:50:27.846142" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:50:27.807215" elapsed="0.039043"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:50:27.851057" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:50:27.846489" elapsed="0.004627"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-15T23:50:27.806787" elapsed="0.044401"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-15T23:50:27.855260" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:27.851940" elapsed="0.003374"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-15T23:50:27.855994" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-08-15T23:50:27.856197" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-15T23:50:27.855830" elapsed="0.000407"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-15T23:50:27.856994" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-15T23:50:27.856466" elapsed="0.000591"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:27.855482" elapsed="0.001655"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:27.855341" elapsed="0.001830"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:27.851915" elapsed="0.005287"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:50:27.857774" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}"...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:50:27.857393" elapsed="0.000423"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:50:27.858360" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
   ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:50:27.858024" elapsed="0.000375"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:50:27.859081" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
         ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:50:27.858736" elapsed="0.000386"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:50:27.859674" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
         ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:50:27.859328" elapsed="0.000406"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:27.878328" level="INFO">POST Request : url=http://10.30.171.145: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j"
        }
    }
}
 
 </msg>
<msg time="2026-08-15T23:50:27.878454" level="INFO">POST Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node01kylqjifw4nk67ascrk124mfr4.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 14-Aug-2026 23:50:27 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=incorrect_hostname', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:27.878679" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:27.859932" elapsed="0.018841"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:50:27.879136" elapsed="0.004858"/>
</kw>
<arg>incorrect_hostname</arg>
<arg>${INCORRECT_PUB_KEY}</arg>
<arg>root</arg>
<arg>root</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-08-15T23:50:27.851490" elapsed="0.032648"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-15T23:50:27.893541" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-08-15T23:50:27.893701" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-15T23:50:27.893378" elapsed="0.000364"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-15T23:50:27.894229" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-15T23:50:27.893897" elapsed="0.000375"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:27.893097" elapsed="0.001230"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:27.889870" elapsed="0.004482"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-15T23:50:27.894526" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:27.894378" elapsed="0.000196"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:27.889847" elapsed="0.004748"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:50:27.894981" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:50:27.894738" elapsed="0.000270"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:50:27.895384" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:50:27.895148" elapsed="0.000263"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:50:27.895808" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:50:27.895552" elapsed="0.000282"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:50:27.896194" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDFioWc/S+ZAHi1VRQMGxkdUI5U8HCZE1OEj2iv38YcIFWbKy2c+dJi694sUniF...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:50:27.895973" elapsed="0.000247"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:27.909689" level="INFO">POST Request : url=http://10.30.171.145: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=node01kylqjifw4nk67ascrk124mfr4.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDFioWc/S+ZAHi1VRQMGxkdUI5U8HCZE1OEj2iv38YcIFWbKy2c+dJi694sUniF7ir1AveCxD0wUcGyO74i7IEOr/s4w6JGkPIGzMXxrEEEE46TiEtGnAJo14Jw/RWx+aP72x1yyMsYXCTq4iFCE38EvfvK8E9GPF8zY853ZGtC3t4v30WghXqaaSe0EzbQinImWwJAtxbgycH4xNAvN47IZVih6yL/yGeG30/32xm9BlTWFC7/DI1Vb+w/acbra9my2iJ7zvtJM3aZKlNwvZbV3LDktx0T0zKoAoZjzAf5V/VD6dYq05VPnLqYztWnOK5Btrs7TDQwjou7ph7jZDFP"
        }
    }
}
 
 </msg>
<msg time="2026-08-15T23:50:27.909829" level="INFO">POST Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:27.909923" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:27.896351" elapsed="0.013597"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:50:27.910225" elapsed="0.007608"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-08-15T23:50:27.884700" elapsed="0.033274"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:27.918649" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-15T23:50:28.193591" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:50:28.193991" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:50:28.194092" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:50:28.194186" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:27.918277" elapsed="0.275961"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:28.197746" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"DISCONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:28.196906" 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-08-15T23:50:28.198537" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:28.197984" elapsed="0.000680"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:28.197938" elapsed="0.000807"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:28.213631" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01kylqjifw4nk67ascrk124mfr4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:28.213888" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}},{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDFioWc/S+ZAHi1VRQMGxkdUI5U8HCZE1OEj2iv38YcIFWbKy2c+dJi694sUniF7ir1AveCxD0wUcGyO74i7IEOr/s4w6JGkPIGzMXxrEEEE46TiEtGnAJo14Jw/RWx+aP72x1yyMsYXCTq4iFCE38EvfvK8E9GPF8zY853ZGtC3t4v30WghXqaaSe0EzbQinImWwJAtxbgycH4xNAvN47IZVih6yL/yGeG30/32xm9BlTWFC7/DI1Vb+w/acbra9my2iJ7zvtJM3aZKlNwvZbV3LDktx0T0zKoAoZjzAf5V/VD6dYq05VPnLqYztWnOK5Btrs7TDQwjou7ph7jZDFP"}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:28.214030" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:28.206542" elapsed="0.007524"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:28.214574" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:28.214173" elapsed="0.000477"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:28.217764" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"incorrect_hostname","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}},{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDFioWc/S+ZAHi1VRQMGxkdUI5U8HCZE1OEj2iv38YcIFWbKy2c+dJi694sUniF7ir1AveCxD0wUcGyO74i7IEOr/s4w6JGkPIGzMXxrEEEE46TiEtGnAJo14Jw/RWx+aP72x1yyMsYXCTq4iFCE38EvfvK8E9GPF8zY853ZGtC3t4v30WghXqaaSe0EzbQinImWwJAtxbgycH4xNAvN47IZVih6yL/yGeG30/32xm9BlTWFC7/DI1Vb+w/acbra9my2iJ7zvtJM3aZKlNwvZbV3LDktx0T0zKoAoZjzAf5V/VD6dYq05VPnLqYztWnOK5Btrs7TDQwjou7ph7jZDFP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:28.214878" elapsed="0.003036"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:28.214682" elapsed="0.003282"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:28.214148" elapsed="0.003847"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:28.218172" elapsed="0.000231"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:50:28.218855" elapsed="0.003060"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-15T23:50:28.218666" elapsed="0.003305"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:50:28.222250" elapsed="0.003013"/>
</kw>
<var name="${i}">"device-status":"DISCONNECTED"</var>
<status status="PASS" start="2026-08-15T23:50:28.222087" elapsed="0.003232"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-15T23:50:28.218482" elapsed="0.006880"/>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-08-15T23:50:28.206128" elapsed="0.019312"/>
</kw>
<arg>DISCONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="PASS" start="2026-08-15T23:50:28.196080" elapsed="0.029436"/>
</kw>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>DISCONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-08-15T23:50:28.194734" elapsed="0.030847"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Run Keyword And Expect Error" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:28.255801" level="INFO">GET Request : url=http://10.30.171.145: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=node01kylqjifw4nk67ascrk124mfr4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:28.255927" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/network-topology:network-topology/topology=topology-netconf?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '990'} 
 body={"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]} 
 </msg>
<msg time="2026-08-15T23:50:28.256025" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:28.235297" elapsed="0.020754"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:28.256427" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:28.256127" elapsed="0.000355"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:28.258859" level="INFO">{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:28.256630" elapsed="0.002283"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:28.256506" elapsed="0.002442"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:28.256109" elapsed="0.002861"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:28.259091" elapsed="0.000164"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:28.261743" level="FAIL">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:28.259552" elapsed="0.002278">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</kw>
<var name="${i}">"connection-status":"connected"</var>
<status status="FAIL" start="2026-08-15T23:50:28.259435" elapsed="0.002521">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:28.259308" elapsed="0.002715">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</for>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:28.234884" elapsed="0.027246">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</kw>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the keyword and checks that the expected error occurred.</doc>
<status status="PASS" start="2026-08-15T23:50:28.226481" elapsed="0.035860"/>
</kw>
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-08-15T23:50:28.225817" elapsed="0.036583"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:28.263198" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-15T23:50:28.517935" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:50:28.518293" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:50:28.518395" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:50:28.518489" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:28.263016" elapsed="0.255530"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:28.519622" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:28.518988" elapsed="0.000766"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:28.520437" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-15T23:50:28.832633" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:50:28.832926" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:50:28.833026" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:50:28.833121" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:28.520066" elapsed="0.313107"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:28.833932" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-15T23:50:28.895515" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:50:28.895800" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-15T23:50:28.895903" level="INFO">${stderr} = </msg>
<msg time="2026-08-15T23:50:28.895993" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:28.833523" elapsed="0.062519"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:28.896603" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-15T23:50:28.949233" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:28.896380" elapsed="0.053211"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:28.963002" level="INFO">DELETE Request : url=http://10.30.171.145: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=node01kylqjifw4nk67ascrk124mfr4.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:28.963297" level="INFO">DELETE Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:28.963550" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:28.950293" elapsed="0.013321"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:28.970993" level="INFO">DELETE Request : url=http://10.30.171.145: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=node01kylqjifw4nk67ascrk124mfr4.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:28.971221" level="INFO">DELETE Response : url=http://10.30.171.145:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-15T23:50:28.971368" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:28.964106" elapsed="0.007299"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-15T23:50:28.262680" elapsed="0.708844"/>
</kw>
<doc>CallHome from device that does not have an entry in per-device credential with result to mount point failure.</doc>
<status status="PASS" start="2026-08-15T23:50:27.561491" elapsed="1.410118"/>
</test>
<test id="s1-s1-t6" name="CallHome with Rogue Devices" line="111">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:28.974079" level="INFO">Creating Session using : alias=session, url=http://10.30.171.145:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x712a5f4cbc50&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-08-15T23:50:28.973662" elapsed="0.000636"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:28.974669" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-15T23:50:29.001146" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:28.974502" elapsed="0.026774"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:29.001847" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-08-15T23:50:29.246632" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:29.001585" elapsed="0.245389"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:29.247916" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-15T23:50:29.301308" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:50:29.301579" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCMEPrx6CpJnwe0ZZrADDRYfOnvRBbUGgiLd5fyqVP/gunkHf9LlywwZPNFcCVytxwQPkoh9CabBjoZesdUQX6wjVWZziZriXB5m/AXZr7rD3fpXys1ebQbxzdaajOMqpal9r8q9J6OliGC5o/f/pBUg7CNbwrwG4risQGXNcWy...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:29.247521" elapsed="0.054119"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-15T23:50:29.310059" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCMEPrx6CpJnwe0ZZrADDRYfOnvRBbUGgiLd5fyqVP/gunkHf9LlywwZPNFcCVytxwQPkoh9CabBjoZesdUQX6wjVWZziZriXB5m/AXZr7rD3fpXys1ebQbxzdaajOMqpal9r8q9J6OliGC5o/f/pBUg7CNbwrwG4risQGXNcWy...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-15T23:50:29.302094" elapsed="0.008031"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-15T23:50:28.973269" elapsed="0.336962"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:50:29.351673" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:50:29.311005" elapsed="0.040857"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:50:29.358471" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:50:29.352177" elapsed="0.006375"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-15T23:50:29.310543" elapsed="0.048093"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-15T23:50:29.364554" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:29.359533" elapsed="0.005079"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-15T23:50:29.365221" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-08-15T23:50:29.365454" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-15T23:50:29.365070" elapsed="0.000411"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-15T23:50:29.365968" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-15T23:50:29.365627" elapsed="0.000384"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:29.364807" elapsed="0.001259"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:29.364648" elapsed="0.001441"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:29.359489" elapsed="0.006623"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:50:29.366496" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
      ...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:50:29.366247" elapsed="0.000276"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:50:29.366901" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
          },...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:50:29.366660" elapsed="0.000268"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:50:29.367284" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:50:29.367064" elapsed="0.000246"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:50:29.367665" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-15T23:50:29.367448" elapsed="0.000243"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:29.383126" level="INFO">POST Request : url=http://10.30.171.145: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j"
        }
    }
}
 
 </msg>
<msg time="2026-08-15T23:50:29.383253" level="INFO">POST Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 14-Aug-2026 23:50:29 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:29.383476" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:29.367848" elapsed="0.015685"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-15T23:50:29.383932" elapsed="0.004858"/>
</kw>
<arg>netopeer2</arg>
<arg>${INCORRECT_PUB_KEY}</arg>
<arg>root</arg>
<arg>root</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-08-15T23:50:29.359030" elapsed="0.029908"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:50:29.389643" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-15T23:50:29.655649" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:50:29.656130" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:50:29.656237" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:50:29.656333" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:50:29.389259" elapsed="0.267132"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:29.660153" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:29.659280" 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-08-15T23:50:29.660991" elapsed="0.000478"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:29.660395" elapsed="0.001170"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:29.660343" elapsed="0.001284"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:29.679105" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:29.679349" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:29.679487" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:29.670968" elapsed="0.008557"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:29.680076" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:29.679633" elapsed="0.000527"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:29.683618" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:29.680371" elapsed="0.003330"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:29.680194" elapsed="0.003580"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:29.679606" elapsed="0.004208"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:29.684002" elapsed="0.000272"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:29.687909" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:29.684781" elapsed="0.003245">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:50:29.684584" elapsed="0.003552">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:29.684370" elapsed="0.003868">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:29.670537" elapsed="0.017856">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:29.658462" elapsed="0.030065">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:31.691437" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:31.690477" elapsed="0.001035"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:31.692291" elapsed="0.000490"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:31.691694" elapsed="0.001198"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:31.691649" elapsed="0.001316"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:31.710337" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:31.710505" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:31.710601" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:31.702780" elapsed="0.007848"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:31.711024" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:31.710705" elapsed="0.000376"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:31.713315" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:31.711229" elapsed="0.002139"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:31.711105" elapsed="0.002298"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:31.710686" elapsed="0.002740"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:31.713551" elapsed="0.000191"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:31.717144" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:31.714055" elapsed="0.003207">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:50:31.713936" elapsed="0.003434">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:31.713802" elapsed="0.003656">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:31.702188" elapsed="0.015413">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:31.689507" elapsed="0.028327">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:33.719946" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:33.719456" elapsed="0.000528"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:33.720354" elapsed="0.000214"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:33.720080" elapsed="0.000529"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:33.720056" elapsed="0.000579"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:33.733642" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:33.733832" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:33.733945" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:33.727501" elapsed="0.006470"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:33.734339" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:33.734050" elapsed="0.000345"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:33.736598" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:33.734541" elapsed="0.002108"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:33.734418" elapsed="0.002266"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:33.734031" elapsed="0.002675"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:33.736844" elapsed="0.000171"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:33.739475" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:33.737324" elapsed="0.002260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:50:33.737207" elapsed="0.002455">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:33.737072" elapsed="0.002671">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:33.727091" elapsed="0.012817">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:33.718664" elapsed="0.021343">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:35.743504" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:35.742415" elapsed="0.001159"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:35.744362" elapsed="0.000483"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:35.743786" elapsed="0.001147"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:35.743712" elapsed="0.001275"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:35.763981" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:35.764328" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:35.764549" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:35.755856" elapsed="0.008751"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:35.765450" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:35.764814" elapsed="0.000759"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:35.769836" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:35.765931" elapsed="0.003982"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:35.765627" elapsed="0.004337"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:35.764770" elapsed="0.005226"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:35.770177" elapsed="0.000248"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:35.774449" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:35.770902" elapsed="0.003659">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:50:35.770707" elapsed="0.003964">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:35.770509" elapsed="0.004377">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:35.755222" elapsed="0.019822">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:35.741169" elapsed="0.034020">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:37.778186" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:37.777188" elapsed="0.001072"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:37.779056" elapsed="0.000464"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:37.778452" elapsed="0.001156"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:37.778404" elapsed="0.001262"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:37.796147" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:37.796320" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:37.796419" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:37.790080" elapsed="0.006366"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:37.796842" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:37.796525" elapsed="0.000375"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:37.799171" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:37.797051" elapsed="0.002171"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:37.796925" elapsed="0.002332"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:37.796506" elapsed="0.002773"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:37.799406" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:37.802202" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:37.799912" elapsed="0.002373">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:50:37.799793" elapsed="0.002626">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:37.799637" elapsed="0.002847">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:37.789475" elapsed="0.013114">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:37.776177" elapsed="0.026581">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:39.805663" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:39.804681" elapsed="0.001088"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:39.806526" elapsed="0.000500"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:39.805965" elapsed="0.001150"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:39.805916" elapsed="0.001256"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:39.826073" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:39.826396" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:39.826631" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:39.818632" elapsed="0.008054"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:39.827252" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:39.826840" elapsed="0.000493"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:39.830481" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:39.827539" elapsed="0.003052"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:39.827367" elapsed="0.003283"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:39.826811" elapsed="0.003871"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:39.830897" elapsed="0.000251"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:39.834689" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:39.831589" elapsed="0.003320">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:50:39.831421" elapsed="0.003597">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:39.831230" elapsed="0.003876">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:39.818214" elapsed="0.017038">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:39.803677" elapsed="0.031709">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:41.838232" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:41.837272" elapsed="0.001031"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:41.839079" elapsed="0.000460"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:41.838487" elapsed="0.001140"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:41.838442" elapsed="0.001241"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:41.857152" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:41.857326" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:41.857430" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:41.849888" elapsed="0.007568"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:41.857847" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:41.857535" elapsed="0.000369"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:41.860090" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:41.858050" elapsed="0.002152"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:41.857927" elapsed="0.002310"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:41.857516" elapsed="0.002742"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:41.860382" elapsed="0.000170"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:41.864016" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:41.860887" elapsed="0.003239">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:50:41.860766" elapsed="0.003466">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:41.860612" elapsed="0.003706">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:41.849288" elapsed="0.015175">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:41.836303" elapsed="0.028293">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:43.867395" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:43.866471" elapsed="0.000995"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:43.868231" elapsed="0.000451"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:43.867648" elapsed="0.001154"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:43.867603" elapsed="0.001256"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:43.885911" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:43.886079" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:43.886264" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:43.878708" elapsed="0.007582"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:43.886659" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:43.886369" elapsed="0.000362"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:43.888920" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:43.886891" elapsed="0.002081"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:43.886756" elapsed="0.002251"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:43.886350" elapsed="0.002679"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:43.889150" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:43.892294" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:43.889631" elapsed="0.002769">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:50:43.889512" elapsed="0.002992">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:43.889376" elapsed="0.003213">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:43.878128" elapsed="0.014621">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:43.865508" elapsed="0.027377">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:45.895822" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:45.894777" elapsed="0.001120"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:45.896674" elapsed="0.000501"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:45.896080" elapsed="0.001209"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:45.896035" elapsed="0.001316"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:45.914392" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:45.914628" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:45.914824" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:45.907983" elapsed="0.006894"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:45.915465" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:45.915016" elapsed="0.000537"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:45.918790" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:45.915789" elapsed="0.003074"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:45.915588" elapsed="0.003324"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:45.914987" elapsed="0.003958"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:45.919137" elapsed="0.000252"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:45.923085" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:45.919887" elapsed="0.003309">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:50:45.919695" elapsed="0.003629">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:45.919495" elapsed="0.004019">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:45.907522" elapsed="0.016160">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:45.893807" elapsed="0.030043">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:47.926678" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:47.925801" elapsed="0.000981"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:47.927518" elapsed="0.000488"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:47.926963" elapsed="0.001129"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:47.926918" elapsed="0.001229"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:47.946488" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:47.946654" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:47.946777" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:47.939384" elapsed="0.007421"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:47.947196" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:47.946890" elapsed="0.000362"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:47.949662" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:47.947403" elapsed="0.002326"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:47.947275" elapsed="0.002491"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:47.946864" elapsed="0.002923"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:47.949908" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:47.952545" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:47.950391" elapsed="0.002240">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:50:47.950272" elapsed="0.002450">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:47.950137" elapsed="0.002653">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:47.938809" elapsed="0.014086">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:47.924861" elapsed="0.028181">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:49.955878" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:49.954920" elapsed="0.001033"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:49.956709" elapsed="0.000494"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:49.956145" elapsed="0.001147"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:49.956097" elapsed="0.001251"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:49.975073" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:49.975333" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:49.975475" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:49.967392" elapsed="0.008119"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:49.976072" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:49.975621" elapsed="0.000530"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:49.979232" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:49.976358" elapsed="0.002948"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:49.976183" elapsed="0.003171"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:49.975595" elapsed="0.003790"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:49.979556" elapsed="0.000260"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:49.983277" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:49.980251" elapsed="0.003146">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:50:49.980084" elapsed="0.003452">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:49.979897" elapsed="0.003729">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:49.966800" elapsed="0.017083">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:49.953950" elapsed="0.030076">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:51.987149" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:51.986198" elapsed="0.001024"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:51.988003" elapsed="0.000456"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:51.987411" elapsed="0.001136"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:51.987363" elapsed="0.001240"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:52.010867" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:52.011093" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:52.011253" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:52.003602" elapsed="0.007690"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:52.011862" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:52.011408" elapsed="0.000539"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:52.015290" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:52.012183" elapsed="0.003182"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:52.011983" elapsed="0.003433"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:52.011381" elapsed="0.004069"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:52.015631" elapsed="0.000298"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:52.019405" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:52.016380" elapsed="0.003106">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:50:52.016213" elapsed="0.003348">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:52.016026" elapsed="0.003697">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:52.002973" elapsed="0.016876">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:51.985144" elapsed="0.034802">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:54.023895" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:54.022876" elapsed="0.001095"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:54.024770" elapsed="0.000482"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:54.024164" elapsed="0.001177"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:54.024115" elapsed="0.001282"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:54.042135" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:54.042302" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:54.042401" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:54.035155" elapsed="0.007272"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:54.042868" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:54.042542" elapsed="0.000412"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:54.046250" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:54.043168" elapsed="0.003155"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:54.042987" elapsed="0.003384"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:54.042522" elapsed="0.003880"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:54.046599" elapsed="0.000268"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:54.050455" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:54.047298" elapsed="0.003265">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:50:54.047131" elapsed="0.003706">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:54.046948" elapsed="0.003972">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:54.034713" elapsed="0.016310">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:54.021710" elapsed="0.029408">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:56.054020" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:56.053034" elapsed="0.001062"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:50:56.054876" elapsed="0.000468"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:56.054281" elapsed="0.001150"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:56.054233" elapsed="0.001255"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:56.071344" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:56.071510" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:56.071608" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:56.065645" elapsed="0.005989"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:56.072089" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:56.071716" elapsed="0.000453"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:56.075315" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:56.072374" elapsed="0.003015"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:56.072203" elapsed="0.003233"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:56.071693" elapsed="0.003774"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:56.075639" elapsed="0.000259"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:56.079409" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:56.076323" elapsed="0.003260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:50:56.076159" elapsed="0.003530">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:56.075976" elapsed="0.003827">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:56.065216" elapsed="0.014731">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:56.052069" elapsed="0.028010">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:50:58.081887" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:50:58.081343" 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="PASS" start="2026-08-15T23:50:58.082381" elapsed="0.000219"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:58.082066" elapsed="0.000600"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:58.082030" elapsed="0.000668"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:50:58.102176" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:50:58.102353" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:50:58.102466" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:50:58.095300" elapsed="0.007194"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:50:58.102900" elapsed="0.000090"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:50:58.102574" elapsed="0.000463"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:50:58.105841" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:50:58.103201" elapsed="0.002791"/>
</kw>
<status status="PASS" start="2026-08-15T23:50:58.103063" elapsed="0.002986"/>
</branch>
<status status="PASS" start="2026-08-15T23:50:58.102554" elapsed="0.003527"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:50:58.106262" elapsed="0.000246"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:50:58.110272" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:50:58.107023" elapsed="0.003364">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:50:58.106807" elapsed="0.003689">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:50:58.106590" elapsed="0.003997">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:50:58.094596" elapsed="0.016163">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:58.080809" elapsed="0.030095">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:00.113873" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:00.112944" elapsed="0.001005"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:00.114695" elapsed="0.000494"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:00.114135" elapsed="0.001142"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:00.114089" elapsed="0.001245"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:00.131427" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:00.131587" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:00.131782" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:00.125046" elapsed="0.006768"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:00.132262" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:00.131894" elapsed="0.000446"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:00.135534" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:00.132547" elapsed="0.003059"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:00.132374" elapsed="0.003280"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:00.131875" elapsed="0.003811"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:00.135896" elapsed="0.000240"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:00.139936" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:00.136565" elapsed="0.003478">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:00.136400" elapsed="0.003749">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:00.136216" elapsed="0.004022">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:00.124615" elapsed="0.015766">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:00.111903" elapsed="0.028615">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:02.143327" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:02.142404" elapsed="0.000992"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:02.144193" elapsed="0.000473"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:02.143609" elapsed="0.001173"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:02.143561" elapsed="0.001284"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:02.160530" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:02.160809" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:02.160920" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:02.153766" elapsed="0.007180"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:02.161335" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:02.161027" elapsed="0.000365"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:02.163589" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:02.161543" elapsed="0.002096"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:02.161416" elapsed="0.002258"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:02.161008" elapsed="0.002688"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:02.163838" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:02.167212" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:02.164332" elapsed="0.002997">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:02.164210" elapsed="0.003230">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:02.164070" elapsed="0.003462">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:02.153337" elapsed="0.014349">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:02.141453" elapsed="0.026405">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:04.170624" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:04.169755" 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-08-15T23:51:04.171463" elapsed="0.000579"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:04.170910" elapsed="0.001236"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:04.170865" elapsed="0.001325"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:04.188709" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:04.188914" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:04.189031" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:04.181846" elapsed="0.007211"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:04.189581" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:04.189140" elapsed="0.000526"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:04.193050" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:04.189915" elapsed="0.003210"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:04.189702" elapsed="0.003474"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:04.189119" elapsed="0.004090"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:04.193391" elapsed="0.000250"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:04.197676" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:04.194139" elapsed="0.003684">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:04.193956" elapsed="0.003984">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:04.193755" elapsed="0.004279">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:04.181403" elapsed="0.016787">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:04.168845" elapsed="0.029565">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:06.201411" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:06.200472" elapsed="0.001012"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:06.202278" elapsed="0.000494"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:06.201675" elapsed="0.001190"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:06.201626" elapsed="0.001297"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:06.219443" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:06.219607" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:06.219706" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:06.213127" elapsed="0.006626"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:06.220125" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:06.219833" elapsed="0.000384"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:06.222418" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:06.220369" elapsed="0.002100"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:06.220241" elapsed="0.002263"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:06.219814" elapsed="0.002712"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:06.222648" elapsed="0.000187"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:06.225538" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:06.223150" elapsed="0.002469">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:06.223031" elapsed="0.002665">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:06.222894" elapsed="0.002883">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:06.212692" elapsed="0.013257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:06.199451" elapsed="0.026596">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:08.229851" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:08.228821" elapsed="0.001106"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:08.230682" elapsed="0.000532"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:08.230115" elapsed="0.001192"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:08.230067" elapsed="0.001297"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:08.248497" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:08.248672" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:08.248794" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:08.241971" elapsed="0.006849"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:08.249187" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:08.248898" elapsed="0.000346"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:08.251966" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:08.249393" elapsed="0.002645"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:08.249267" elapsed="0.002821"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:08.248880" elapsed="0.003239"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:08.252293" elapsed="0.000239"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:08.256072" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:08.252998" elapsed="0.003182">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:08.252822" elapsed="0.003469">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:08.252611" elapsed="0.003855">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:08.241511" elapsed="0.015103">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:08.227709" elapsed="0.029064">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:10.259763" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:10.258805" elapsed="0.001035"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:10.260621" elapsed="0.000528"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:10.260036" elapsed="0.001204"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:10.259987" elapsed="0.001310"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:10.279302" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:10.279486" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:10.279605" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:10.272822" elapsed="0.006810"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:10.280035" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:10.279735" elapsed="0.000356"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:10.282735" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:10.280241" elapsed="0.002570"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:10.280116" elapsed="0.002744"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:10.279693" elapsed="0.003198"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:10.283064" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:10.286815" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:10.283747" elapsed="0.003179">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:10.283559" elapsed="0.003552">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:10.283375" elapsed="0.003828">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:10.272168" elapsed="0.015179">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:10.257797" elapsed="0.029692">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:12.290306" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:12.289369" elapsed="0.001009"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:12.291221" elapsed="0.000545"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:12.290569" elapsed="0.001289"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:12.290523" elapsed="0.001393"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:12.309665" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:12.309858" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:12.309963" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:12.302944" elapsed="0.007046"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:12.310390" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:12.310075" elapsed="0.000374"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:12.313219" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:12.310606" elapsed="0.002686"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:12.310477" elapsed="0.002864"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:12.310054" elapsed="0.003317"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:12.313544" elapsed="0.000262"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:12.317662" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:12.314244" elapsed="0.003627">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:12.314074" elapsed="0.003909">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:12.313885" elapsed="0.004187">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:12.302292" elapsed="0.015935">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:12.288409" elapsed="0.029969">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:14.322036" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:14.320957" elapsed="0.001164"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:14.323055" elapsed="0.000596"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:14.322351" elapsed="0.001453"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:14.322291" elapsed="0.001629"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:14.348876" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:14.349080" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:14.349219" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:14.341296" elapsed="0.007952"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:14.349908" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:14.349406" elapsed="0.000568"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:14.352400" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:14.350151" elapsed="0.002392"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:14.350009" elapsed="0.002581"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:14.349364" elapsed="0.003264"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:14.352851" elapsed="0.000258"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:14.356767" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:14.353626" elapsed="0.003260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:14.353415" elapsed="0.003581">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:14.353201" elapsed="0.003889">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:14.340042" elapsed="0.017204">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:14.319610" elapsed="0.037782">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:16.361017" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:16.359932" elapsed="0.001176"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:16.361985" elapsed="0.000491"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:16.361340" elapsed="0.001224"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:16.361280" elapsed="0.001349"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:16.380388" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:16.380645" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:16.380918" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:16.373967" elapsed="0.006979"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:16.381491" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:16.381049" elapsed="0.000529"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:16.384991" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:16.381821" elapsed="0.003246"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:16.381614" elapsed="0.003505"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:16.381021" elapsed="0.004131"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:16.385334" elapsed="0.000266"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:16.389385" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:16.386136" elapsed="0.003358">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:16.385925" elapsed="0.003657">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:16.385690" elapsed="0.003960">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:16.373537" elapsed="0.016247">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:16.358641" elapsed="0.031242">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:18.391842" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:18.391361" elapsed="0.000519"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:18.392249" elapsed="0.000215"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:18.391980" elapsed="0.000523"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:18.391953" elapsed="0.000577"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:18.405804" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:18.406061" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:18.406162" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:18.399136" elapsed="0.007053"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:18.406559" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:18.406269" elapsed="0.000347"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:18.408907" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:18.406781" elapsed="0.002178"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:18.406641" elapsed="0.002354"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:18.406250" elapsed="0.002768"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:18.409142" elapsed="0.000170"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:18.412079" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:18.409623" elapsed="0.002537">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:18.409503" elapsed="0.002734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:18.409369" elapsed="0.002931">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:18.398684" elapsed="0.013719">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:18.390765" elapsed="0.021734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:20.415973" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:20.414865" elapsed="0.001185"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:20.416848" elapsed="0.000473"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:20.416245" elapsed="0.001167"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:20.416194" elapsed="0.001275"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:20.436080" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:20.436251" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:20.436350" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:20.428838" elapsed="0.007539"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:20.436765" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:20.436455" elapsed="0.000368"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:20.439206" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:20.436971" elapsed="0.002307"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:20.436847" elapsed="0.002480"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:20.436436" elapsed="0.002923"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:20.439534" elapsed="0.000261"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:20.443298" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:20.440232" elapsed="0.003177">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:20.440064" elapsed="0.003452">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:20.439875" elapsed="0.003730">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:20.428183" elapsed="0.015600">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:20.413623" elapsed="0.030373">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:22.446979" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:22.446004" elapsed="0.001050"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:22.447852" elapsed="0.000805"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:22.447252" elapsed="0.001585"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:22.447204" elapsed="0.001698"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:22.465698" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:22.465897" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:22.466007" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:22.458498" elapsed="0.007536"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:22.466404" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:22.466113" elapsed="0.000347"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:22.469570" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:22.466644" elapsed="0.003018"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:22.466484" elapsed="0.003268"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:22.466094" elapsed="0.003709"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:22.470053" elapsed="0.000301"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:22.474056" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:22.470925" elapsed="0.003240">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:22.470674" elapsed="0.003596">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:22.470435" elapsed="0.003922">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:22.457908" elapsed="0.016685">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:22.444977" elapsed="0.029776">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:24.476782" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:24.476158" elapsed="0.000675"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:24.477329" elapsed="0.000321"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:24.476964" elapsed="0.000742"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:24.476931" elapsed="0.000835"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:24.494983" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:24.495155" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:24.495256" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:24.487089" elapsed="0.008193"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:24.495664" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:24.495366" elapsed="0.000369"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:24.498007" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:24.495884" elapsed="0.002198"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:24.495762" elapsed="0.002371"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:24.495346" elapsed="0.002821"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:24.498348" elapsed="0.000247"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:24.502624" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:24.499076" elapsed="0.003687">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:24.498898" elapsed="0.003978">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:24.498677" elapsed="0.004364">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:24.486442" elapsed="0.016758">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:24.475475" elapsed="0.027870">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:26.506242" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:26.505294" elapsed="0.001021"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:26.507096" elapsed="0.000459"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:26.506501" elapsed="0.001142"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:26.506454" elapsed="0.001299"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:26.523576" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:26.523769" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:26.523904" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:26.516561" elapsed="0.007375"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:26.524359" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:26.524021" elapsed="0.000416"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:26.527540" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:26.524642" elapsed="0.002970"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:26.524470" elapsed="0.003191"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:26.524002" elapsed="0.003691"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:26.527899" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:26.531630" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:26.528564" elapsed="0.003196">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:26.528400" elapsed="0.003575">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:26.528214" elapsed="0.003855">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:26.516146" elapsed="0.016066">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:26.504253" elapsed="0.028093">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:28.535287" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:28.534319" elapsed="0.001041"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:28.536135" elapsed="0.000463"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:28.535545" elapsed="0.001144"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:28.535499" elapsed="0.001282"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:28.553561" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:28.553753" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:28.553865" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:28.547091" elapsed="0.006800"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:28.554313" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:28.553973" elapsed="0.000396"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:28.557283" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:28.554517" elapsed="0.002837"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:28.554394" elapsed="0.003008"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:28.553952" elapsed="0.003481"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:28.557602" elapsed="0.000259"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:28.561296" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:28.558309" elapsed="0.003177">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:28.558142" elapsed="0.003449">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:28.557937" elapsed="0.003741">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:28.546512" elapsed="0.015334">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:28.533300" elapsed="0.028680">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:30.565379" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:30.564260" elapsed="0.001193"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:30.566387" elapsed="0.000605"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:30.565686" elapsed="0.001416"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:30.565611" elapsed="0.001552"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:30.586703" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:30.586897" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:30.586996" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:30.579280" elapsed="0.007742"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:30.587391" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:30.587099" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:30.589983" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:30.587594" elapsed="0.002552"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:30.587471" elapsed="0.002738"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:30.587081" elapsed="0.003166"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:30.590422" elapsed="0.000240"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:30.594456" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:30.591121" elapsed="0.003444">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:30.590953" elapsed="0.003717">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:30.590764" elapsed="0.004022">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:30.578689" elapsed="0.016242">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:30.563141" elapsed="0.031925">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:32.598072" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:32.597027" elapsed="0.001116"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:32.598921" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:32.598335" elapsed="0.001130"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:32.598287" elapsed="0.001233"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:32.617308" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:32.617478" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:32.617641" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:32.610996" elapsed="0.006671"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:32.618116" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:32.617771" elapsed="0.000428"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:32.621443" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:32.618414" elapsed="0.003104"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:32.618234" elapsed="0.003335"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:32.617751" elapsed="0.003851"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:32.621807" elapsed="0.000267"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:32.625842" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:32.622535" elapsed="0.003455">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:32.622358" elapsed="0.003735">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:32.622160" elapsed="0.004004">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:32.610570" elapsed="0.015701">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:32.596070" elapsed="0.030296">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:34.629190" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:34.628237" elapsed="0.001028"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:34.630118" elapsed="0.000462"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:34.629457" elapsed="0.001209"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:34.629408" elapsed="0.001354"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:34.648562" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:34.648825" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:34.648935" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:34.642217" elapsed="0.006745"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:34.649445" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:34.649041" elapsed="0.000482"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:34.652566" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:34.649749" elapsed="0.002887"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:34.649556" elapsed="0.003128"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:34.649022" elapsed="0.003712"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:34.652917" elapsed="0.000234"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:34.656605" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:34.653573" elapsed="0.003157">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:34.653409" elapsed="0.003460">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:34.653227" elapsed="0.003732">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:34.641807" elapsed="0.015292">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:34.627254" elapsed="0.030017">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:36.660148" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:36.659217" 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-08-15T23:51:36.661004" elapsed="0.000480"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:36.660411" elapsed="0.001161"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:36.660360" elapsed="0.001267"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:36.677990" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:36.678151" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:36.678290" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:36.671433" elapsed="0.006886"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:36.678688" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:36.678398" elapsed="0.000363"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:36.681660" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:36.678911" elapsed="0.002841"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:36.678785" elapsed="0.003017"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:36.678379" elapsed="0.003454"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:36.682004" elapsed="0.000237"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:36.685953" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:36.682690" elapsed="0.003369">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:36.682525" elapsed="0.003637">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:36.682341" elapsed="0.003909">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:36.670847" elapsed="0.015577">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:36.658237" elapsed="0.028401">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:38.689503" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:38.688567" elapsed="0.001008"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:38.690360" elapsed="0.000540"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:38.689805" elapsed="0.001183"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:38.689754" elapsed="0.001291"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:38.709051" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:38.709283" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:38.709437" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:38.702147" elapsed="0.007329"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:38.710083" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:38.709602" elapsed="0.000564"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:38.713522" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:38.710410" elapsed="0.003187"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:38.710202" elapsed="0.003446"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:38.709571" elapsed="0.004109"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:38.713884" elapsed="0.000252"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:38.719064" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:38.714610" elapsed="0.004566">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:38.714426" elapsed="0.004860">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:38.714223" elapsed="0.005159">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:38.701721" elapsed="0.017886">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:38.687610" elapsed="0.032164">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:40.723333" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:40.722060" elapsed="0.001352"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:40.724304" elapsed="0.000535"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:40.723617" elapsed="0.001317"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:40.723564" elapsed="0.001429"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:40.743109" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:40.743294" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:40.743410" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:40.735626" elapsed="0.007811"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:40.743837" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:40.743519" elapsed="0.000376"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:40.746223" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:40.744064" elapsed="0.002229"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:40.743919" elapsed="0.002412"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:40.743499" elapsed="0.002855"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:40.746521" elapsed="0.000180"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:40.750068" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:40.747049" elapsed="0.003139">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:40.746924" elapsed="0.003373">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:40.746780" elapsed="0.003709">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:40.735189" elapsed="0.015495">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:40.720874" elapsed="0.029982">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:42.753929" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:42.752895" elapsed="0.001111"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:42.754822" elapsed="0.000485"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:42.754209" elapsed="0.001189"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:42.754159" elapsed="0.001300"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:42.773921" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:42.774134" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:42.774280" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:42.767151" elapsed="0.007159"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:42.775202" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:42.774441" elapsed="0.000861"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:42.778588" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:42.775536" elapsed="0.003126"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:42.775338" elapsed="0.003372"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:42.774406" elapsed="0.004357"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:42.778942" elapsed="0.000244"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:42.782986" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:42.779638" elapsed="0.003433">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:42.779457" elapsed="0.003760">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:42.779267" elapsed="0.004017">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:42.766725" elapsed="0.016670">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:42.751875" elapsed="0.031619">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:44.786344" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:44.785419" elapsed="0.000998"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:44.787218" elapsed="0.000526"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:44.786624" elapsed="0.001213"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:44.786573" elapsed="0.001321"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:44.803928" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:44.804134" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:44.804235" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:44.797317" elapsed="0.006943"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:44.804685" elapsed="0.000068"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:44.804339" elapsed="0.000469"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:44.807866" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:44.805016" elapsed="0.002922"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:44.804841" elapsed="0.003145"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:44.804320" elapsed="0.003715"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:44.808208" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:44.811979" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:44.808895" elapsed="0.003293">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:44.808706" elapsed="0.003591">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:44.808522" elapsed="0.003865">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:44.796895" elapsed="0.015626">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:44.784439" elapsed="0.028180">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:46.815474" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:46.814536" elapsed="0.001013"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:46.816332" elapsed="0.000528"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:46.815767" elapsed="0.001182"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:46.815689" elapsed="0.001317"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:46.834007" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:46.834168" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:46.834305" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:46.827111" elapsed="0.007221"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:46.834708" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:46.834412" elapsed="0.000373"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:46.837009" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:46.834933" elapsed="0.002180"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:46.834809" elapsed="0.002339"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:46.834394" elapsed="0.002777"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:46.837297" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:46.840587" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:46.837790" elapsed="0.002906">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:46.837656" elapsed="0.003166">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:46.837522" elapsed="0.003387">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:46.826516" elapsed="0.014533">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:46.813522" elapsed="0.027660">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:48.844023" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:48.843104" elapsed="0.000992"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:48.844906" elapsed="0.000469"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:48.844312" elapsed="0.001153"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:48.844266" elapsed="0.001256"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:48.862932" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:48.863099" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:48.863256" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:48.855946" elapsed="0.007338"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:48.863655" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:48.863363" elapsed="0.000363"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:48.866492" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:48.863883" elapsed="0.002681"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:48.863754" elapsed="0.002859"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:48.863344" elapsed="0.003300"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:48.866837" elapsed="0.000239"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:48.870809" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:48.867503" elapsed="0.003415">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:48.867339" elapsed="0.003684">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:48.867154" elapsed="0.003956">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:48.855349" elapsed="0.015902">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:48.842143" elapsed="0.029241">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:50.874408" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:50.873368" elapsed="0.001128"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:50.875302" elapsed="0.000501"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:50.874696" elapsed="0.001195"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:50.874647" elapsed="0.001300"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:50.895380" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:50.895734" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:50.895878" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:50.888619" elapsed="0.007297"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:50.896433" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:50.896026" elapsed="0.000486"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:50.899815" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:50.896745" elapsed="0.003145"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:50.896546" elapsed="0.003394"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:50.895999" elapsed="0.003973"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:50.900146" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:50.903589" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:50.900893" elapsed="0.002779">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:50.900700" elapsed="0.003064">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:50.900478" elapsed="0.003350">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:50.888182" elapsed="0.015749">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:50.872373" elapsed="0.031654">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:52.907000" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:52.906081" elapsed="0.000993"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:52.907954" elapsed="0.000299"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:52.907259" elapsed="0.001051"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:52.907212" elapsed="0.001135"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:52.924748" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:52.924920" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:52.925030" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:52.918020" elapsed="0.007038"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:52.925434" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:52.925137" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:52.927822" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:52.925637" elapsed="0.002275"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:52.925514" elapsed="0.002458"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:52.925118" elapsed="0.002886"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:52.928174" elapsed="0.000237"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:52.932070" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:52.928897" elapsed="0.003285">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:52.928673" elapsed="0.003612">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:52.928489" elapsed="0.003884">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:52.917417" elapsed="0.015100">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:52.905082" elapsed="0.027671">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:54.935606" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:54.934676" elapsed="0.001002"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:54.936463" elapsed="0.000720"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:54.935905" elapsed="0.001372"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:54.935858" elapsed="0.001476"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:54.955014" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:54.955172" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:54.955270" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:54.948386" elapsed="0.006911"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:54.955678" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:54.955377" elapsed="0.000375"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:54.958191" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:54.955903" elapsed="0.002361"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:54.955778" elapsed="0.002536"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:54.955358" elapsed="0.002989"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:54.958518" elapsed="0.000258"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:54.962561" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:54.959205" elapsed="0.003463">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:54.959038" elapsed="0.003756">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:54.958855" elapsed="0.004028">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:54.947807" elapsed="0.015293">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:54.933684" elapsed="0.029553">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:56.966134" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:56.965158" elapsed="0.001051"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:56.966985" elapsed="0.000477"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:56.966392" elapsed="0.001158"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:56.966345" elapsed="0.001261"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:56.983295" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:56.983464" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:56.983562" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:56.977260" elapsed="0.006328"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:56.983984" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:56.983665" elapsed="0.000374"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:56.986919" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:56.984223" elapsed="0.002768"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:56.984097" elapsed="0.002940"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:56.983646" elapsed="0.003422"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:56.987236" elapsed="0.000231"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:56.990961" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:56.987912" elapsed="0.003157">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:56.987746" elapsed="0.003425">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:56.987543" elapsed="0.003833">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:56.976739" elapsed="0.014785">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:56.964190" elapsed="0.027466">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:51:58.994783" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:51:58.993801" elapsed="0.001057"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:51:58.995640" elapsed="0.000506"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:58.995046" elapsed="0.001190"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:58.994998" elapsed="0.001296"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:51:59.013064" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:51:59.013285" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:51:59.013435" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:51:59.006446" elapsed="0.007025"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:51:59.014028" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:51:59.013578" elapsed="0.000529"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:51:59.017252" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:51:59.014310" elapsed="0.003016"/>
</kw>
<status status="PASS" start="2026-08-15T23:51:59.014140" elapsed="0.003235"/>
</branch>
<status status="PASS" start="2026-08-15T23:51:59.013552" elapsed="0.003855"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:51:59.017579" elapsed="0.000273"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:51:59.021285" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:51:59.018277" elapsed="0.003117">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:51:59.018111" elapsed="0.003457">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:51:59.017929" elapsed="0.003729">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:51:59.006032" elapsed="0.015818">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:51:58.992759" elapsed="0.029228">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-15T23:52:01.024875" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-15T23:52:01.023955" elapsed="0.000992"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-15T23:52:01.025690" elapsed="0.000494"/>
</kw>
<status status="PASS" start="2026-08-15T23:52:01.025131" elapsed="0.001139"/>
</branch>
<status status="PASS" start="2026-08-15T23:52:01.025084" elapsed="0.001243"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:52:01.041803" level="INFO">GET Request : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:52:01.041963" level="INFO">GET Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-15T23:52:01.042061" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:52:01.036040" elapsed="0.006048"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-15T23:52:01.042464" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-15T23:52:01.042166" elapsed="0.000355"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:52:01.045679" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:52:01.042763" elapsed="0.003010"/>
</kw>
<status status="PASS" start="2026-08-15T23:52:01.042555" elapsed="0.003266"/>
</branch>
<status status="PASS" start="2026-08-15T23:52:01.042147" elapsed="0.003707"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-15T23:52:01.046027" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:52:01.050034" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:52:01.046689" elapsed="0.004141">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-15T23:52:01.046522" elapsed="0.004448">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-15T23:52:01.046339" elapsed="0.004722">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-15T23:52:01.035613" elapsed="0.015593">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-15T23:52:01.022997" elapsed="0.028346">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<msg time="2026-08-15T23:52:01.051469" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-08-15T23:50:29.656953" elapsed="91.394660">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-08-15T23:52:01.051885" elapsed="0.000031"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:01.052768" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-15T23:52:01.330328" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:52:01.330788" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:52:01.330902" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:52:01.330999" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:01.052574" elapsed="0.278484"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:52:01.332398" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:52:01.331627" elapsed="0.000868"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:01.333282" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-15T23:52:01.630016" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:52:01.630328" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:52:01.630393" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:52:01.630542" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:01.332886" elapsed="0.297693"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:01.631254" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-15T23:52:01.693661" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:01.693851" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-15T23:52:01.693915" level="INFO">${stderr} = </msg>
<msg time="2026-08-15T23:52:01.693972" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:01.630932" elapsed="0.063072"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:01.694375" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-15T23:52:01.744045" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:01.694232" elapsed="0.049960"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:52:01.755931" level="INFO">DELETE Request : url=http://10.30.171.145: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=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:52:01.755995" level="INFO">DELETE Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-15T23:52:01.756125" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:52:01.744548" elapsed="0.011613"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:52:01.762552" level="INFO">DELETE Request : url=http://10.30.171.145: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=node0180ccdu1wuaqc1sor18vgplgyx5.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:52:01.762890" level="INFO">DELETE Response : url=http://10.30.171.145:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-15T23:52:01.763127" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:52:01.756369" elapsed="0.006819"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-15T23:52:01.052262" elapsed="0.711084"/>
</kw>
<doc>A Rogue Device will fail to callhome and wont be able to mount because the keys are not added in whitelist.
FAILED_NOT_ALLOWED should be the device status.</doc>
<status status="FAIL" start="2026-08-15T23:50:28.972173" elapsed="92.791293">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCytj5ctLpLfz83nVkbMhWHIblKciEAUuim3FVUwjcew1HLlLOZpHeQvh01Qd4DNvV+rpU3qfxEUEehDbbuMhDUX9asiyDiw9sttSy1daclWBsAicehz252F83bgrkzmmE6Gx8lshtrukvMIInw7V2KXXEJV/E8cQVlNOC8REaUneAwCC8CZXXjKWOkCTa+UcCf7gH8kSq4JrLe6qrqfH8KnlCAccRAFeC7NAOO0PBA82OElC6BeSIIXGXbRfT95GBIDo39EaJbKa1T0+egC6gaB5WOUIuiOUvXVkXkVMcXVQSQQR6/1OX2d38BCBewMkNbS49KLRdmltJvLyGWB/3j","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</test>
<test id="s1-s1-t7" name="CallHome over TLS with correct certificate and key" line="131">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:52:01.766530" level="INFO">Creating Session using : alias=session, url=http://10.30.171.145:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x712a605ef450&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-08-15T23:52:01.766162" elapsed="0.000601"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:01.767148" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-15T23:52:01.791464" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:01.767010" elapsed="0.024585"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:01.792181" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-08-15T23:52:01.971069" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:01.791941" elapsed="0.179262"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:01.971806" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-15T23:52:02.019860" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:02.020170" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCiDjzD6oPeRyBVAxvmlB5BOEBUpNsFaKrBUeJR7XLA+emr09PDkoUatYPpV61Nbpk4xsyCL+YL0OwLLBA3Th7GsmCPwDcABQLNY1Uuy05SDg42Y8LBhx+oLVe3+izjJNQOuuGpfZ4zCGO5ff+byLCp0xsWJn/5P3M29JGoNZuw...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:01.971525" elapsed="0.048710"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-15T23:52:02.028607" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCiDjzD6oPeRyBVAxvmlB5BOEBUpNsFaKrBUeJR7XLA+emr09PDkoUatYPpV61Nbpk4xsyCL+YL0OwLLBA3Th7GsmCPwDcABQLNY1Uuy05SDg42Y8LBhx+oLVe3+izjJNQOuuGpfZ4zCGO5ff+byLCp0xsWJn/5P3M29JGoNZuw...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-15T23:52:02.020763" elapsed="0.007917"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-15T23:52:01.765768" elapsed="0.263046"/>
</kw>
<kw name="Apply TLS-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Generate certificates for TLS configuration" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:02.030295" level="INFO">Executing command 'rm -rf ./certs &amp;&amp; mkdir ./certs'.</msg>
<msg time="2026-08-15T23:52:02.068065" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:02.068387" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>rm -rf ./certs &amp;&amp; mkdir ./certs</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:02.030137" elapsed="0.038325"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:52:02.111552" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/x509_v3.cfg' -&gt; '/home/jenkins/./x509_v3.cfg'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/x509_v3.cfg</arg>
<arg>./x509_v3.cfg</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:52:02.068940" elapsed="0.042759"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:02.112370" level="INFO">Executing command 'openssl genrsa -out ./certs/ca.key 2048'.</msg>
<msg time="2026-08-15T23:52:02.247019" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:02.247326" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl genrsa -out ./certs/ca.key 2048</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:02.112107" elapsed="0.135276"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:02.248087" level="INFO">Executing command 'openssl req -x509 -new -extensions v3_ca -nodes -key ./certs/ca.key -sha256 -days 365 -subj "/C=US/ST=CA/L=Netopeer/O=netopeerCA/CN=netopeerCA" -out ./certs/ca.pem'.</msg>
<msg time="2026-08-15T23:52:02.296332" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:02.296627" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl req -x509 -new -extensions v3_ca -nodes -key ./certs/ca.key -sha256 -days 365 -subj "/C=US/ST=CA/L=Netopeer/O=netopeerCA/CN=netopeerCA" -out ./certs/ca.pem</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:02.247807" elapsed="0.048883"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:02.297411" level="INFO">Executing command 'openssl genrsa -out ./certs/server.key 2048'.</msg>
<msg time="2026-08-15T23:52:02.463862" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:02.464099" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl genrsa -out ./certs/server.key 2048</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:02.297134" elapsed="0.167023"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:02.464807" level="INFO">Executing command 'openssl req -new -sha256 -key ./certs/server.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-server" -out ./certs/server.csr'.</msg>
<msg time="2026-08-15T23:52:02.522204" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:02.522451" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl req -new -sha256 -key ./certs/server.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-server" -out ./certs/server.csr</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:02.464502" elapsed="0.058007"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:02.523106" level="INFO">Executing command 'openssl x509 -req -in ./certs/server.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/server.crt -days 365 -sha256'.</msg>
<msg time="2026-08-15T23:52:02.582267" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:02.582514" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl x509 -req -in ./certs/server.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/server.crt -days 365 -sha256</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:02.522872" elapsed="0.059702"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:02.583167" level="INFO">Executing command 'openssl rsa -in ./certs/server.key -pubout &gt; ./certs/server.pub'.</msg>
<msg time="2026-08-15T23:52:02.642680" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:02.642938" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl rsa -in ./certs/server.key -pubout &gt; ./certs/server.pub</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:02.582939" elapsed="0.060056"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:02.643574" level="INFO">Executing command 'openssl genrsa -out ./certs/client.key 2048'.</msg>
<msg time="2026-08-15T23:52:02.961847" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:02.962073" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl genrsa -out ./certs/client.key 2048</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:02.643348" elapsed="0.318781"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:02.962694" level="INFO">Executing command 'openssl req -new -sha256 -key ./certs/client.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-client" -out ./certs/client.csr'.</msg>
<msg time="2026-08-15T23:52:03.011993" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:03.012214" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl req -new -sha256 -key ./certs/client.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-client" -out ./certs/client.csr</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:02.962451" elapsed="0.049820"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:03.012860" level="INFO">Executing command 'openssl x509 -req -in ./certs/client.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/client.crt -days 1024 -sha256'.</msg>
<msg time="2026-08-15T23:52:03.063975" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:03.064191" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl x509 -req -in ./certs/client.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/client.crt -days 1024 -sha256</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:03.012590" elapsed="0.051657"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:03.064933" level="INFO">Executing command 'mv ./certs ./configuration-files/certs'.</msg>
<msg time="2026-08-15T23:52:03.115844" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:03.116066" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>mv ./certs ./configuration-files/certs</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:03.064665" elapsed="0.051458"/>
</kw>
<doc>Generates certificates for 2-way TLS authentication (ca, server, client)</doc>
<status status="PASS" start="2026-08-15T23:52:02.029698" elapsed="1.086571"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:52:03.160516" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:52:03.116557" elapsed="0.044095"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:52:03.167979" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-truststore.xml' -&gt; '/home/jenkins/configuration-files/ietf-truststore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-truststore.xml</arg>
<arg>configuration-files/ietf-truststore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:52:03.161023" elapsed="0.007036"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-15T23:52:03.174590" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-15T23:52:03.168258" elapsed="0.006410"/>
</kw>
<doc>Upload netopeer2 configuration files needed for TLS transport</doc>
<status status="PASS" start="2026-08-15T23:52:02.029118" elapsed="1.145662"/>
</kw>
<kw name="Register keys and certificates in ODL controller" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:03.175798" level="INFO">Executing command 'cat ./configuration-files/certs/client.key'.</msg>
<msg time="2026-08-15T23:52:03.187994" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:03.188202" level="INFO">${pem-client-key} = -----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDQK5s2ldPwFXZS
kTaguzW9Et0anykTS5uj58tZuFPkqZwJlslusNvBHkssy8h8XTbg1iQCV4jjcpcp
lDbj8jwyQtOEfxTIyOvut1kZv3wKzyM34P8pBvSAJN...</msg>
<msg time="2026-08-15T23:52:03.188301" level="INFO">${stderr} = </msg>
<var>${pem-client-key}</var>
<var>${stderr}</var>
<arg>cat ./configuration-files/certs/client.key</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:03.175547" elapsed="0.012803"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-15T23:52:03.189041" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/add_keystore_entry.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/add_keystore_entry.json&lt;/a&gt;'.</msg>
<msg time="2026-08-15T23:52:03.189379" level="INFO">${template} = {
    "input": {
        "key-credential": [
            {
                "key-id": "tls-device-key",
                "private-key": "{pem-client-key}",
                "passphrase": ""
            }...</msg>
<var>${template}</var>
<arg>${ADD_KEYSTORE_ENTRY_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-15T23:52:03.188663" elapsed="0.000775"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-15T23:52:03.190317" 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-08-15T23:52:03.189786" elapsed="0.000590"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:52:03.224225" level="INFO">POST Request : url=http://10.30.171.145: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-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDQK5s2ldPwFXZS
kTaguzW9Et0anykTS5uj58tZuFPkqZwJlslusNvBHkssy8h8XTbg1iQCV4jjcpcp
lDbj8jwyQtOEfxTIyOvut1kZv3wKzyM34P8pBvSAJNg81XPA9Yp0gbYPjarNVvjI
L5MHytOaNnwOiFeKBnlOOB+tSojq/Yn6fwpQGAwYfh+9fmwz3jzKuKEJVyIppvgM
7NOCsdJ4n/zaHdZmGPs8NIpyo4jFxMn/bePGBQ3JnEZ7C/3AHfzeMNuxczKnEdzg
IjVsjXotWCPSsCk8tEGjUVkKkGJSiePXuBYlP8ZTuN/AWfBm2ta1iexn6C8hupiI
+ZQE+0BFAgMBAAECggEAC01Vc9JmUNfMIPHQY6FLwB8I5nFIviBHQXq2wCwb+0Ni
0jnKaETtkXUZw24G+GA+jVjNrgY0S5ZaSFV14MyzNvleLt3lcidHzqH2vPP4AfA6
wHBp+hTDa+epiS1U8l+Ca7k/z2VeJiA4M/TdSI7bC+Q0ZRJC9R6ihxF7VXcWqvIN
mYi7nyjD0jh8zQZMNqNbHqnlr9KTuW2a+972EhgZX5Y+H8BuOCtUr59ApwZX6gW1
7lXzTuJY+SLdReEyvIGa3uYEnyimExfe6nB0KfwDoq+SiKcQdmeI3hFDwj7FsRKC
h0KULW9qH+poV8OQEjF1DCDpW00wDP9j1u3JgFB4mwKBgQDfBXdWlQhJn39Wtja1
43furG4fDRNMP2Tfje6ddT7Q8El6zyHFfS++c8EV7tSAdSRpi0XYCjfJz1uH5TbR
eUxa+ZTvSv+KFzPfxDF3dDbq6Iii6Ly8+aX812d12c/beWNr9OeTCEBvUAr/2/Mj
tQ0NsuOm8/UV0Ga9zisqa9bWcwKBgQDu8/NwD2deZSnhTDjvErAdytrnjAhLw59x
BEqD61upVgCl2VliM/LH5XApawXxzh4JLbFVq9SRApk1xa39R8oif5E50IrbSpLv
Z6Zy/ltcByxAa8jSZ7madEvkWlXVaerdZWD/oPpV09T+x/or1pc+ciiXuJ63Kx2q
emqdZJMoZwKBgHh50HTSP07ePYDPIBDz11b0iOx3OMSIvmpRluQycQOXumoAOOMh
dEgy6cx6XwshvNDTLqC9LFP1kyF/PjS8jPXcO4tk/VRQonIv3vUDr6MIiL9QcJy5
U+SZTEeKqVGLapzoCK0R2RUIrVh4LglNBccvqvEGepAVK1s/Y2wgI0dnAoGBAKwh
m9m7nvEG2vZrHBBMXAX6HVrzKv64+uBFARCquKrxQyI1wgfV+Cw7gWK0r+GSY1yl
R7u5PjT/tDJiJoXv8xKK5qjJK13xCIvhFKx9wn42xI/blRzMj41N/WWQFYjY9dFq
uEctRWgSYrruf66YtPbM8aTp35t/Oa2W5bpfuwo9AoGAQrqXzYa4/gaglaaaLh6n
/r3E51SqxzjtJMdOyPNUDm0g06/Rzvm6HgytH3geRS2QpAj1rvMOF8qTiiVYijH+
5cNTtUdpNfH9482++65eJQtNur5CM6Z/AAgkxc8DPMFihSXUH2Z9onEXFIikl5Go
l6+mqZxUoY/YtusK5JprAVA=
-----END PRIVATE KEY-----",
                "passphrase": ""
            }
        ]
    }
}
 
 </msg>
<msg time="2026-08-15T23:52:03.224552" level="INFO">POST Response : url=http://10.30.171.145:8181/rests/operations/netconf-keystore:add-keystore-entry 
 status=500, reason=Internal Server Error 
 headers={'Set-Cookie': 'JSESSIONID=node01wvatrtmrt17nxtxmw8y2rto56.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 14-Aug-2026 23:52:03 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Type': 'application/yang-data+json', 'Content-Length': '302'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "operation-failed",
        "error-info": "Unhandled private key class org.bouncycastle.asn1.pkcs.PrivateKeyInfo",
        "error-message": "Failed to decode private key tls-device-key",
        "error-type": "application"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-15T23:52:03.224887" level="INFO">${resp} = &lt;Response [500]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-keystore-entry</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:52:03.190669" elapsed="0.034279"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-15T23:52:03.230257" level="FAIL">'[200, 201, 204]' does not contain '500'</msg>
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-15T23:52:03.225292" elapsed="0.005113">'[200, 201, 204]' does not contain '500'</status>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${client-key}</var>
<arg>client.key</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.230859" elapsed="0.000056"/>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${certificate-chain}</var>
<arg>client.crt</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.231260" elapsed="0.000052"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<var>${template}</var>
<arg>${ADD_PRIVATE_KEY_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.231589" elapsed="0.000045"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${template}</arg>
<arg>{client-key}</arg>
<arg>${client-key}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.232005" elapsed="0.000046"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${body}</arg>
<arg>{certificate-chain}</arg>
<arg>${certificate-chain}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.232193" elapsed="0.000019"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-private-key</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.232335" elapsed="0.000019"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.232491" elapsed="0.000019"/>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${ca-certificate}</var>
<arg>ca.pem</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.232662" elapsed="0.000022"/>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${device-certificate}</var>
<arg>server.crt</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.232848" elapsed="0.000022"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<var>${template}</var>
<arg>${ADD_TRUSTED_CERTIFICATE}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.232991" elapsed="0.000019"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${template}</arg>
<arg>{ca-certificate}</arg>
<arg>${ca-certificate}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.233139" elapsed="0.000019"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${body}</arg>
<arg>{device-certificate}</arg>
<arg>${device-certificate}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.233289" elapsed="0.000019"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-trusted-certificate</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.233430" elapsed="0.000020"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.233585" elapsed="0.000020"/>
</kw>
<doc>Register pre-configured netopeer2 certificates and key in ODL-netconf keystore</doc>
<status status="FAIL" start="2026-08-15T23:52:03.175154" elapsed="0.058547">'[200, 201, 204]' does not contain '500'</status>
</kw>
<kw name="Register TLS call-home device in ODL controller" owner="NetconfCallHome">
<arg>netopeer2</arg>
<arg>tls-device-key</arg>
<arg>tls-device-certificate</arg>
<doc>Registration call-home device with TLS transport</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.233896" elapsed="0.000024"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.234052" elapsed="0.000020"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>CONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.234229" elapsed="0.000020"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-08-15T23:52:03.234391" elapsed="0.000020"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:03.235183" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-15T23:52:03.490754" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:52:03.491016" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:52:03.491114" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:52:03.491203" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:03.235018" elapsed="0.256234"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-15T23:52:03.492229" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-15T23:52:03.491614" elapsed="0.000706"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:03.493028" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-15T23:52:03.798659" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-15T23:52:03.798959" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:52:03.799059" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-15T23:52:03.799227" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:03.492642" elapsed="0.306640"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:03.800036" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-15T23:52:03.858664" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:03.859204" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-15T23:52:03.859308" level="INFO">${stderr} = </msg>
<msg time="2026-08-15T23:52:03.859400" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:03.799630" elapsed="0.059824"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:03.860379" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-15T23:52:03.912002" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:03.860050" elapsed="0.052095"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:52:03.921482" level="INFO">DELETE Request : url=http://10.30.171.145: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=node01wvatrtmrt17nxtxmw8y2rto56.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:52:03.922091" level="INFO">DELETE Response : url=http://10.30.171.145:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '270'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-15T23:52:03.922542" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:52:03.912463" elapsed="0.010148"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-15T23:52:03.933457" level="INFO">DELETE Request : url=http://10.30.171.145: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=node01wvatrtmrt17nxtxmw8y2rto56.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-15T23:52:03.933618" level="INFO">DELETE Response : url=http://10.30.171.145:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-15T23:52:03.933803" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-15T23:52:03.923281" elapsed="0.010562"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-15T23:52:03.234695" elapsed="0.699274"/>
</kw>
<doc>Using correct certificate and key pair should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-08-15T23:52:01.764403" elapsed="2.169672">'[200, 201, 204]' does not contain '500'</status>
</test>
<kw name="Suite Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Uninstall Docker Compose on tools system" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-15T23:52:03.938961" level="INFO">Executing command 'pip uninstall docker-compose'.</msg>
<msg time="2026-08-15T23:52:04.670139" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-15T23:52:04.670618" level="INFO">${stdout} = </msg>
<msg time="2026-08-15T23:52:04.670758" level="INFO">${stderr} = WARNING: Skipping docker-compose as it is not installed.</msg>
<msg time="2026-08-15T23:52:04.670887" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>pip uninstall docker-compose</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-15T23:52:03.938428" elapsed="0.732517"/>
</kw>
<doc>Uninstall docker-compose on tools system</doc>
<status status="PASS" start="2026-08-15T23:52:03.937894" elapsed="0.733292"/>
</kw>
<kw name="Delete All Sessions" owner="RequestsLibrary">
<msg time="2026-08-15T23:52:04.671882" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-08-15T23:52:04.671598" elapsed="0.001313"/>
</kw>
<kw name="Close All Connections" owner="SSHLibrary">
<doc>Closes all open connections.</doc>
<status status="PASS" start="2026-08-15T23:52:04.673211" elapsed="0.000856"/>
</kw>
<doc>Tearing down the setup.</doc>
<status status="PASS" start="2026-08-15T23:52:03.937121" elapsed="0.737078"/>
</kw>
<doc>Test suite to verify callhome functionality over SSH transport protocol. Registration in OpenDaylight
Controller happens via restconf interface. Netopeer2-server docker container plays a role of the
netconf device with call-home feature. Docker-compose file is used to configure netopeer2 docker
container(netconf configuration templates, host-key).</doc>
<status status="FAIL" start="2026-08-15T23:44:04.517560" elapsed="480.156816"/>
</suite>
<status status="FAIL" start="2026-08-15T23:44:04.479291" elapsed="480.198312"/>
</suite>
<statistics>
<total>
<stat pass="1" fail="6" skip="0">All Tests</stat>
</total>
<tag>
</tag>
<suite>
<stat name="netconf-callhome.txt" id="s1" pass="1" fail="6" skip="0">netconf-callhome.txt</stat>
<stat name="Callhome" id="s1-s1" pass="1" fail="6" skip="0">netconf-callhome.txt.Callhome</stat>
</suite>
</statistics>
<errors>
</errors>
</robot>
