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

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

 System information as of Sat Sep  5 23:51:51 UTC 2026

  System load:  0.3                Processes:             107
  Usage of /:   20.8% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.99
  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

New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


[?2004h[jenkins@releng-35786-103-1-docker-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-09-05T23:52:29.401198" elapsed="0.459153"/>
</kw>
<msg time="2026-09-05T23:52:29.860463" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-05T23:52:29.400851" elapsed="0.459720"/>
</kw>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-09-05T23:52:29.399218" elapsed="0.461472"/>
</kw>
<msg time="2026-09-05T23:52:29.860740" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Flexible SSH Login</arg>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-05T23:52:29.398713" elapsed="0.462074"/>
</kw>
<doc>Call Flexible SSH Login, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-09-05T23:52:29.398110" elapsed="0.462754"/>
</kw>
<return>
<value>${tools_connection}</value>
<status status="PASS" start="2026-09-05T23:52:29.860925" elapsed="0.000046"/>
</return>
<msg time="2026-09-05T23:52:29.861154" level="INFO">${netopeer_conn_id} = 1</msg>
<var>${netopeer_conn_id}</var>
<doc>Open a connection to the tools system at ${ip_address} and return its identifier.</doc>
<status status="PASS" start="2026-09-05T23:52:29.396977" elapsed="0.464228"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-05T23:52:29.861856" level="INFO">${netopeer_conn_id} = 1</msg>
<arg>${netopeer_conn_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-05T23:52:29.861441" elapsed="0.000456"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-09-05T23:52:29.864796" level="INFO">sudo curl -L "https://github.com/docker/compose/releases/download/1.11.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose</msg>
<arg>sudo curl -L "https://github.com/docker/compose/releases/download/1.11.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-09-05T23:52:29.862023" elapsed="0.002828"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Read Until Prompt" owner="SSHLibrary">
<msg time="2026-09-05T23:52:30.717468" 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
  4 8053k    4  382k    0     0   948k      0  0:00:08 --:--:--  0:00:08  948k100 8053k  100 8053k    0     0  9961k      0 --:--:-- --:--:-- --:--:-- 18.5M
[?2004h[jenkins@releng-35786-103-1-docker-0 ~]&gt;</msg>
<doc>Consumes and returns the server output until the prompt is found.</doc>
<status status="PASS" start="2026-09-05T23:52:29.866030" elapsed="0.851586"/>
</kw>
<msg time="2026-09-05T23:52:30.717778" level="INFO">${output} = [?2004l  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     ...</msg>
<var>${output}</var>
<arg>30s</arg>
<arg>2s</arg>
<arg>SSHLibrary.Read_Until_Prompt</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-09-05T23:52:29.865579" elapsed="0.852227"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:52:30.718325" level="INFO">Executing command 'sudo chmod +x /usr/local/bin/docker-compose'.</msg>
<msg time="2026-09-05T23:52:30.740919" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-05T23:52:30.741037" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:52:30.741076" level="INFO">${stderr} = </msg>
<msg time="2026-09-05T23:52:30.741117" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>sudo chmod +x /usr/local/bin/docker-compose</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:52:30.718029" elapsed="0.023108"/>
</kw>
<doc>Install docker-compose on tools system.</doc>
<status status="PASS" start="2026-09-05T23:52:29.393535" elapsed="1.347735"/>
</kw>
<kw name="Pull Netopeer2 Docker Image" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:52:30.742008" level="INFO">Executing command 'docker pull sysrepo/sysrepo-netopeer2:latest'.</msg>
<msg time="2026-09-05T23:52:38.901918" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-05T23:52:38.902200" level="INFO">${stdout} = latest: Pulling from sysrepo/sysrepo-netopeer2
95d253b40401: Pulling fs layer
d51af753c3d3: Pulling fs layer
fc878cd0a91c: Pulling fs layer
6154df8ff988: Pulling fs layer
fee5db0ff82f: Pulling fs laye...</msg>
<msg time="2026-09-05T23:52:38.902249" level="INFO">${stderr} = </msg>
<msg time="2026-09-05T23:52:38.902286" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker pull sysrepo/sysrepo-netopeer2:latest</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:52:30.741851" elapsed="8.160457"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:52:38.902785" level="INFO">Executing command 'docker images'.</msg>
<msg time="2026-09-05T23:52:39.014636" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-05T23:52:39.015004" level="INFO">${stdout} = IMAGE                              ID             DISK USAGE   CONTENT SIZE   EXTRA
sysrepo/sysrepo-netopeer2:latest   36cc1d841c97        914MB          232MB        </msg>
<msg time="2026-09-05T23:52:39.015099" level="INFO">${stderr} = </msg>
<msg time="2026-09-05T23:52:39.015236" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker images</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:52:38.902554" elapsed="0.112733"/>
</kw>
<doc>Pulls the netopeer image from the docker repository.</doc>
<status status="PASS" start="2026-09-05T23:52:30.741611" elapsed="8.273866"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-05T23:52:39.058024" level="INFO">[chan 4] Opened sftp connection (server version 3)</msg>
<msg time="2026-09-05T23:52:39.067679" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/docker-compose.yaml' -&gt; '/home/jenkins//docker-compose.yaml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/docker-compose.yaml</arg>
<arg>.</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-05T23:52:39.015816" elapsed="0.052023"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-05T23:52:39.076700" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/init_configuration.sh' -&gt; '/home/jenkins//init_configuration.sh'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/init_configuration.sh</arg>
<arg>.</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-05T23:52:39.068301" elapsed="0.008539"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:52:39.077600" level="INFO">Executing command 'sed -i -e 's/ODL_SYSTEM_IP/10.30.171.119/g' docker-compose.yaml'.</msg>
<msg time="2026-09-05T23:52:39.090265" level="INFO">Command exited with return code 0.</msg>
<arg>sed -i -e 's/ODL_SYSTEM_IP/${ODL_SYSTEM_IP}/g' docker-compose.yaml</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:52:39.077244" elapsed="0.013170"/>
</kw>
<kw name="Set_Variable_If_At_Least_Sulfur" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set_Variable_If_At_Least" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set Variable If" owner="BuiltIn">
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-09-05T23:52:39.121899" elapsed="0.000950"/>
</kw>
<msg time="2026-09-05T23:52:39.122954" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Set_Variable_If</arg>
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-05T23:52:39.121156" elapsed="0.001889"/>
</kw>
<arg>sulfur</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to titanium and return 4334 if titanium is at least ${lower_bound},
return 6666 otherwise.</doc>
<status status="PASS" start="2026-09-05T23:52:39.120476" elapsed="0.002674"/>
</kw>
<msg time="2026-09-05T23:52:39.123240" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Set_Variable_If_At_Least</arg>
<arg>sulfur</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-05T23:52:39.105521" elapsed="0.017780"/>
</kw>
<msg time="2026-09-05T23:52:39.123447" level="INFO">${netconf_cl_ssh_port} = 4334</msg>
<var>${netconf_cl_ssh_port}</var>
<arg>4334</arg>
<arg>6666</arg>
<doc>Compare sulfur to titanium and return ${value_if_true} if titanium is at least sulfur, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-09-05T23:52:39.104851" elapsed="0.018630"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:52:39.123857" level="INFO">Executing command 'sed -i -e 's/NETCONF_CH_SSH/4334/g' docker-compose.yaml'.</msg>
<msg time="2026-09-05T23:52:39.138577" level="INFO">Command exited with return code 0.</msg>
<arg>sed -i -e 's/NETCONF_CH_SSH/${netconf_cl_ssh_port}/g' docker-compose.yaml</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:52:39.123666" elapsed="0.015041"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:52:39.139258" level="INFO">Executing command 'sed -i -e 's/NETCONF_CH_TLS/4335/g' docker-compose.yaml'.</msg>
<msg time="2026-09-05T23:52:39.190927" level="INFO">Command exited with return code 0.</msg>
<arg>sed -i -e 's/NETCONF_CH_TLS/4335/g' docker-compose.yaml</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:52:39.139005" elapsed="0.052116"/>
</kw>
<kw name="Set_Variable_If_At_Least_Scandium" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set_Variable_If_At_Least" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set Variable If" owner="BuiltIn">
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-09-05T23:52:39.222428" elapsed="0.000909"/>
</kw>
<msg time="2026-09-05T23:52:39.223456" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Set_Variable_If</arg>
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-05T23:52:39.221632" elapsed="0.001937"/>
</kw>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to titanium and return "connection-status":"connected" if titanium is at least ${lower_bound},
return "netconf-node-topology:connection-status":"connected" otherwise.</doc>
<status status="PASS" start="2026-09-05T23:52:39.220836" elapsed="0.002885"/>
</kw>
<msg time="2026-09-05T23:52:39.223920" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Set_Variable_If_At_Least</arg>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-05T23:52:39.206039" elapsed="0.017985"/>
</kw>
<msg time="2026-09-05T23:52:39.224277" level="INFO">${substring1} = "connection-status":"connected"</msg>
<var>${substring1}</var>
<arg>"connection-status":"connected"</arg>
<arg>"netconf-node-topology:connection-status":"connected"</arg>
<doc>Compare scandium to titanium and return ${value_if_true} if titanium is at least scandium, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-09-05T23:52:39.205364" elapsed="0.018964"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-09-05T23:52:39.225158" level="INFO">${substring2} = "node-id":"netopeer2"</msg>
<var>${substring2}</var>
<arg>"node-id":"netopeer2"</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-09-05T23:52:39.224638" elapsed="0.000616"/>
</kw>
<kw name="Set_Variable_If_At_Least_Scandium" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set_Variable_If_At_Least" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set Variable If" owner="BuiltIn">
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-09-05T23:52:39.246094" elapsed="0.000615"/>
</kw>
<msg time="2026-09-05T23:52:39.246787" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Set_Variable_If</arg>
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-05T23:52:39.245649" elapsed="0.001218"/>
</kw>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to titanium and return "available-capabilities" if titanium is at least ${lower_bound},
return "netconf-node-topology:available-capabilities" otherwise.</doc>
<status status="PASS" start="2026-09-05T23:52:39.245234" elapsed="0.001732"/>
</kw>
<msg time="2026-09-05T23:52:39.247022" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Set_Variable_If_At_Least</arg>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-05T23:52:39.235765" elapsed="0.011313"/>
</kw>
<msg time="2026-09-05T23:52:39.247246" level="INFO">${substring3} = "available-capabilities"</msg>
<var>${substring3}</var>
<arg>"available-capabilities"</arg>
<arg>"netconf-node-topology:available-capabilities"</arg>
<doc>Compare scandium to titanium and return ${value_if_true} if titanium is at least scandium, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-09-05T23:52:39.235410" elapsed="0.011870"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:52:39.247957" level="INFO">${netconf_mount_expected_values} = ['"connection-status":"connected"', '"node-id":"netopeer2"', '"available-capabilities"']</msg>
<var>${netconf_mount_expected_values}</var>
<arg>${substring1}</arg>
<arg>${substring2}</arg>
<arg>${substring3}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:52:39.247484" elapsed="0.000509"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-05T23:52:39.248725" level="INFO">${netconf_mount_expected_values} = ['"connection-status":"connected"', '"node-id":"netopeer2"', '"available-capabilities"']</msg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-05T23:52:39.248252" elapsed="0.000529"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-05T23:52:39.253440" level="INFO">${CREATE_GLOBAL_CREDENTIALS_REQ} = /w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_global_credentials.json</msg>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_global_credentials.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-05T23:52:39.248977" elapsed="0.004525"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-05T23:52:39.257547" level="INFO">${CREATE_SSH_DEVICE_REQ} = /w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_ssh_device.json</msg>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_ssh_device.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-05T23:52:39.253707" elapsed="0.003881"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-05T23:52:39.260424" level="INFO">${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY} = /w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_device_hostkey_only.json</msg>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_device_hostkey_only.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-05T23:52:39.257726" elapsed="0.002739"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-05T23:52:39.263819" level="INFO">${CREATE_TLS_DEVICE_REQ} = /w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_tls_device.json</msg>
<arg>${CREATE_TLS_DEVICE_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_tls_device.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-05T23:52:39.260605" elapsed="0.003256"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-05T23:52:39.267111" level="INFO">${ADD_KEYSTORE_ENTRY_REQ} = /w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/add_keystore_entry.json</msg>
<arg>${ADD_KEYSTORE_ENTRY_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/add_keystore_entry.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-05T23:52:39.263998" elapsed="0.003156"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-05T23:52:39.270605" level="INFO">${ADD_PRIVATE_KEY_REQ} = /w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/add_private_key.json</msg>
<arg>${ADD_PRIVATE_KEY_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/add_private_key.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-05T23:52:39.267321" elapsed="0.003325"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-05T23:52:39.273857" level="INFO">${ADD_TRUSTED_CERTIFICATE} = /w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/add_trusted_certificate.json</msg>
<arg>${ADD_TRUSTED_CERTIFICATE}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/add_trusted_certificate.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-05T23:52:39.270783" elapsed="0.003179"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:52:39.274228" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./incorrect_ssh_host_rsa_key'.</msg>
<msg time="2026-09-05T23:52:39.459929" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./incorrect_ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:52:39.274096" elapsed="0.186047"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:52:39.460900" level="INFO">Executing command 'awk '{print $2}' incorrect_ssh_host_rsa_key.pub'.</msg>
<msg time="2026-09-05T23:52:39.511418" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-05T23:52:39.511723" level="INFO">${incorrect_public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiW...</msg>
<var>${incorrect_public_key}</var>
<arg>awk '{print $2}' incorrect_ssh_host_rsa_key.pub</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:52:39.460626" elapsed="0.051154"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-05T23:52:39.520076" level="INFO">${INCORRECT_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiW...</msg>
<arg>${INCORRECT_PUB_KEY}</arg>
<arg>${incorrect_public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-05T23:52:39.512253" elapsed="0.007959"/>
</kw>
<doc>Get the suite ready for callhome test cases.</doc>
<status status="PASS" start="2026-09-05T23:52:29.393238" elapsed="10.127110"/>
</kw>
<test id="s1-s1-t1" name="CallHome over SSH with correct device credentials" line="17">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:52:39.523019" level="INFO">Creating Session using : alias=session, url=http://10.30.171.119:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7526cc016490&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-05T23:52:39.522498" elapsed="0.000928"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:52:39.523918" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-05T23:52:39.562681" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:52:39.523721" elapsed="0.039079"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:52:39.563337" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-05T23:52:39.736621" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:52:39.563082" elapsed="0.173715"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:52:39.737482" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-05T23:52:39.787124" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-05T23:52:39.787396" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qR...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:52:39.737230" elapsed="0.050222"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-05T23:52:39.795589" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qR...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-05T23:52:39.787792" elapsed="0.007890"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-05T23:52:39.521920" elapsed="0.273889"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-05T23:52:39.835585" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-05T23:52:39.796757" elapsed="0.038981"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-05T23:52:39.844771" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-05T23:52:39.836074" elapsed="0.008812"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-05T23:52:39.796213" elapsed="0.048800"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-05T23:52:39.853304" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:39.846377" elapsed="0.007033"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-05T23:52:39.854790" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-09-05T23:52:39.855081" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-05T23:52:39.854401" elapsed="0.000734"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-05T23:52:39.856228" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-05T23:52:39.855496" elapsed="0.000822"/>
</kw>
<status status="PASS" start="2026-09-05T23:52:39.853749" elapsed="0.002679"/>
</kw>
<status status="PASS" start="2026-09-05T23:52:39.853469" elapsed="0.003006"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:39.846320" elapsed="0.010204"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:52:39.857334" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
      ...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:52:39.856793" elapsed="0.000597"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:52:39.858142" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
          },...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:52:39.857679" elapsed="0.000562"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:52:39.858980" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:52:39.858531" elapsed="0.000502"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:52:39.859807" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:52:39.859361" elapsed="0.000501"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:52:40.888483" level="INFO">POST Request : url=http://10.30.171.119: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH"
        }
    }
}
 
 </msg>
<msg time="2026-09-05T23:52:40.888646" level="INFO">POST Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 04-Sep-2026 23:52:40 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-05T23:52:40.888883" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:52:39.860127" elapsed="1.028813"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:52:40.889371" elapsed="0.004974"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>root</arg>
<arg>root</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-05T23:52:39.845598" elapsed="1.048892"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:52:40.895306" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-05T23:52:41.234565" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:52:41.234846" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:52:41.234903" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:52:41.234957" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:52:40.894824" elapsed="0.340164"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:52:41.237359" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:52:41.236804" elapsed="0.000592"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:52:41.237857" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:41.237508" elapsed="0.000502"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:41.237473" elapsed="0.000580"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:52:41.308841" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:52:41.310657" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:52:41.310905" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:52:41.252687" elapsed="0.058275"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:52:41.311956" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:41.311161" elapsed="0.000915"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:52:41.316983" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:52:41.312457" elapsed="0.004633"/>
</kw>
<status status="PASS" start="2026-09-05T23:52:41.312131" elapsed="0.005030"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:41.311106" elapsed="0.006161"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:52:41.317585" elapsed="0.000443"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:52:41.318780" elapsed="0.004884"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:52:41.318515" elapsed="0.005231"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:52:41.328986" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:52:41.324218" elapsed="0.005134">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:52:41.323923" elapsed="0.005600">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:52:41.318163" elapsed="0.011493">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:52:41.251759" elapsed="0.078127">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:52:41.236310" elapsed="0.093919">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:52:43.332838" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:52:43.331987" elapsed="0.000914"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:52:43.333745" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:43.333132" elapsed="0.000732"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:43.333031" elapsed="0.000884"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:52:43.361035" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:52:43.361409" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:52:43.361610" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:52:43.347845" elapsed="0.013818"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:52:43.362481" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:43.361827" elapsed="0.000767"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:52:43.367271" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:52:43.362916" elapsed="0.004460"/>
</kw>
<status status="PASS" start="2026-09-05T23:52:43.362650" elapsed="0.004796"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:43.361785" elapsed="0.005710"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:52:43.367746" elapsed="0.000340"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:52:43.368792" elapsed="0.004605"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:52:43.368545" elapsed="0.004934"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:52:43.378461" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:52:43.373901" elapsed="0.004732">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:52:43.373658" elapsed="0.005125">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:52:43.368263" elapsed="0.010737">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:52:43.346983" elapsed="0.032278">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:52:43.331106" elapsed="0.048365">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:52:45.382155" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:52:45.381319" elapsed="0.000953"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:52:45.382976" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:45.382448" elapsed="0.000647"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:45.382403" elapsed="0.000762"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:52:45.409661" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:52:45.409962" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:52:45.410266" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:52:45.397807" elapsed="0.012515"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:52:45.411107" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:45.410488" elapsed="0.000785"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:52:45.415953" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:52:45.411583" elapsed="0.004479"/>
</kw>
<status status="PASS" start="2026-09-05T23:52:45.411326" elapsed="0.004805"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:45.410445" elapsed="0.005786"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:52:45.416495" elapsed="0.000339"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:52:45.417505" elapsed="0.004549"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:52:45.417260" elapsed="0.004874"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:52:45.427033" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:52:45.422587" elapsed="0.004734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:52:45.422345" elapsed="0.005125">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:52:45.416947" elapsed="0.010647">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:52:45.396899" elapsed="0.030905">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:52:45.380443" elapsed="0.047553">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:52:47.430714" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:52:47.429835" elapsed="0.000941"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:52:47.431506" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:47.430954" elapsed="0.000665"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:47.430907" elapsed="0.000762"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:52:47.459892" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:52:47.460224" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:52:47.460427" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:52:47.445458" elapsed="0.015021"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:52:47.461252" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:47.460634" elapsed="0.000731"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:52:47.465939" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:52:47.461659" elapsed="0.004460"/>
</kw>
<status status="PASS" start="2026-09-05T23:52:47.461412" elapsed="0.004820"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:47.460596" elapsed="0.005682"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:52:47.466530" elapsed="0.000334"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:52:47.467537" elapsed="0.004852"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:52:47.467296" elapsed="0.005175"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:52:47.477461" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:52:47.472889" elapsed="0.004743">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:52:47.472646" elapsed="0.005133">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:52:47.466980" elapsed="0.010926">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:52:47.444601" elapsed="0.033511">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:52:47.428856" elapsed="0.049496">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:52:49.481037" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:52:49.480224" elapsed="0.000876"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:52:49.481831" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:49.481318" elapsed="0.000626"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:49.481272" elapsed="0.000720"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:52:49.507827" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:52:49.508110" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:52:49.508447" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:52:49.495632" elapsed="0.012870"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:52:49.509305" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:49.508661" elapsed="0.000762"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:52:49.514001" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:52:49.509724" elapsed="0.004380"/>
</kw>
<status status="PASS" start="2026-09-05T23:52:49.509472" elapsed="0.004746"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:49.508621" elapsed="0.005645"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:52:49.514521" elapsed="0.000338"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:52:49.515540" elapsed="0.004404"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:52:49.515294" elapsed="0.004730"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:52:49.524895" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:52:49.520477" elapsed="0.004604">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:52:49.520234" elapsed="0.005040">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:52:49.514976" elapsed="0.010426">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:52:49.494775" elapsed="0.030834">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:52:49.479314" elapsed="0.046486">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:52:51.528502" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:52:51.527658" elapsed="0.000909"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:52:51.529297" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:51.528734" elapsed="0.000788"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:51.528690" elapsed="0.000896"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:52:51.556276" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:52:51.556570" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:52:51.556789" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:52:51.544020" elapsed="0.012823"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:52:51.557704" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:51.557002" elapsed="0.000823"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:52:51.562502" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:52:51.558153" elapsed="0.004585"/>
</kw>
<status status="PASS" start="2026-09-05T23:52:51.557876" elapsed="0.004940"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:51.556962" elapsed="0.005902"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:52:51.563126" elapsed="0.000427"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:52:51.564222" elapsed="0.004412"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:52:51.563933" elapsed="0.004783"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:52:51.573718" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:52:51.569114" elapsed="0.004767">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:52:51.568877" elapsed="0.005150">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:52:51.563670" elapsed="0.010476">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:52:51.543071" elapsed="0.031330">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:52:51.526767" elapsed="0.047907">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:52:53.577311" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:52:53.576473" elapsed="0.000900"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:52:53.578046" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:53.577538" elapsed="0.000668"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:53.577497" elapsed="0.000762"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:52:53.605686" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:52:53.606000" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:52:53.606274" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:52:53.592142" elapsed="0.014189"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:52:53.607321" elapsed="0.000066"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:53.606517" elapsed="0.000941"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:52:53.612484" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:52:53.607789" elapsed="0.004807"/>
</kw>
<status status="PASS" start="2026-09-05T23:52:53.607509" elapsed="0.005162"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:53.606471" elapsed="0.006244"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:52:53.613017" elapsed="0.000401"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:52:53.614060" elapsed="0.004980"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:52:53.613805" elapsed="0.005323"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:52:53.624260" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:52:53.619606" elapsed="0.004820">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:52:53.619348" elapsed="0.005230">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:52:53.613539" elapsed="0.011252">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:52:53.591239" elapsed="0.033770">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:52:53.575600" elapsed="0.049648">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:52:55.627931" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:52:55.627090" elapsed="0.000904"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:52:55.628745" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:55.628210" elapsed="0.000649"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:55.628119" elapsed="0.000788"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:52:55.655479" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:52:55.655765" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:52:55.655961" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:52:55.643527" elapsed="0.012487"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:52:55.656822" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:55.656228" elapsed="0.000707"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:52:55.661619" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:52:55.657293" elapsed="0.004431"/>
</kw>
<status status="PASS" start="2026-09-05T23:52:55.656981" elapsed="0.004811"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:55.656134" elapsed="0.005702"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:52:55.662084" elapsed="0.000391"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:52:55.663233" elapsed="0.004480"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:52:55.662917" elapsed="0.004877"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:52:55.672830" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:52:55.668260" elapsed="0.004983">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:52:55.667955" elapsed="0.005457">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:52:55.662620" elapsed="0.010917">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:52:55.642647" elapsed="0.031097">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:52:55.626258" elapsed="0.047682">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:52:57.676613" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:52:57.675758" elapsed="0.000919"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:52:57.677417" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:57.676848" elapsed="0.000685"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:57.676803" elapsed="0.000780"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:52:57.704067" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:52:57.704418" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:52:57.704638" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:52:57.692079" elapsed="0.012613"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:52:57.705493" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:57.704849" elapsed="0.000759"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:52:57.710267" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:52:57.705911" elapsed="0.004548"/>
</kw>
<status status="PASS" start="2026-09-05T23:52:57.705657" elapsed="0.004873"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:57.704811" elapsed="0.005763"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:52:57.710826" elapsed="0.000385"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:52:57.711834" elapsed="0.004492"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:52:57.711588" elapsed="0.004819"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:52:57.721346" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:52:57.716810" elapsed="0.004690">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:52:57.716568" elapsed="0.005079">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:52:57.711327" elapsed="0.010443">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:52:57.691244" elapsed="0.030728">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:52:57.674842" elapsed="0.047374">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:52:59.724705" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:52:59.723857" elapsed="0.000909"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:52:59.725521" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:59.724931" elapsed="0.000704"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:59.724889" elapsed="0.000795"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:52:59.752486" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:52:59.752757" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:52:59.753031" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:52:59.739739" elapsed="0.013346"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:52:59.753959" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:52:59.753297" elapsed="0.000779"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:52:59.759071" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:52:59.754440" elapsed="0.004785"/>
</kw>
<status status="PASS" start="2026-09-05T23:52:59.754126" elapsed="0.005171"/>
</branch>
<status status="PASS" start="2026-09-05T23:52:59.753257" elapsed="0.006086"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:52:59.759597" elapsed="0.000340"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:52:59.760608" elapsed="0.004483"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:52:59.760363" elapsed="0.004859"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:52:59.770263" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:52:59.765629" elapsed="0.004784">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:52:59.765388" elapsed="0.005172">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:52:59.760048" elapsed="0.010638">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:52:59.738825" elapsed="0.032113">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:52:59.723001" elapsed="0.048199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:01.773787" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:01.772916" elapsed="0.000937"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:01.774586" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:01.774020" elapsed="0.000770"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:01.773976" elapsed="0.000871"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:01.801723" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:01.802008" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:01.802255" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:01.789121" elapsed="0.013191"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:01.803055" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:01.802469" elapsed="0.000748"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:01.807864" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:01.803536" elapsed="0.004435"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:01.803270" elapsed="0.004769"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:01.802430" elapsed="0.005654"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:01.808382" elapsed="0.000336"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:01.809381" elapsed="0.004433"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:01.809085" elapsed="0.004809"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:01.818828" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:01.814347" elapsed="0.004632">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:01.814054" elapsed="0.005070">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:01.808830" elapsed="0.010476">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:01.788291" elapsed="0.031223">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:01.772043" elapsed="0.047732">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:03.821617" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:03.821061" elapsed="0.000597"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:03.822102" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:03.821771" elapsed="0.000437"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:03.821742" elapsed="0.000498"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:03.845518" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:03.845714" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:03.845849" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:03.832580" elapsed="0.013302"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:03.846666" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:03.846025" elapsed="0.000752"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:03.851479" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:03.847076" elapsed="0.004508"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:03.846825" elapsed="0.004827"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:03.845986" elapsed="0.005709"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:03.851945" 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-09-05T23:53:03.852995" elapsed="0.004474"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:03.852746" elapsed="0.004805"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:03.862631" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:03.857955" elapsed="0.004830">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:03.857713" elapsed="0.005221">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:03.852490" elapsed="0.010740">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:03.832026" elapsed="0.031417">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:03.820491" elapsed="0.043144">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:05.866353" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:05.865458" elapsed="0.000962"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:05.867242" elapsed="0.000066"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:05.866601" elapsed="0.000799"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:05.866555" elapsed="0.000902"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:05.894299" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:05.894586" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:05.894777" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:05.882155" elapsed="0.012672"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:05.895609" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:05.894980" elapsed="0.000739"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:05.900413" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:05.896013" elapsed="0.004508"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:05.895767" elapsed="0.004821"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:05.894944" elapsed="0.005687"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:05.900878" elapsed="0.000428"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:05.901919" elapsed="0.004929"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:05.901680" elapsed="0.005248"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:05.911928" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:05.907378" elapsed="0.004842">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:05.907086" elapsed="0.005288">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:05.901422" elapsed="0.011076">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:05.881307" elapsed="0.031397">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:05.864554" elapsed="0.048344">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:07.915533" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:07.914676" elapsed="0.000920"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:07.916349" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:07.915765" elapsed="0.000705"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:07.915722" elapsed="0.000798"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:07.942585" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:07.942866" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:07.943062" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:07.930399" elapsed="0.012741"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:07.943920" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:07.943329" elapsed="0.000707"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:07.948765" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:07.944405" elapsed="0.004561"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:07.944086" elapsed="0.004951"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:07.943290" elapsed="0.005791"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:07.949446" 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-09-05T23:53:07.950665" elapsed="0.004467"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:07.950408" elapsed="0.004834"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:07.960137" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:07.955651" elapsed="0.004667">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:07.955410" elapsed="0.005056">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:07.950030" elapsed="0.010559">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:07.929518" elapsed="0.031280">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:07.913791" elapsed="0.047197">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:09.963498" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:09.962667" elapsed="0.000891"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:09.964280" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:09.963721" elapsed="0.000675"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:09.963679" elapsed="0.000765"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:09.990440" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:09.990711" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:09.991003" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:09.978819" elapsed="0.012237"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:09.992030" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:09.991445" elapsed="0.000724"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:09.996740" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:09.992494" elapsed="0.004350"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:09.992246" elapsed="0.004666"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:09.991391" elapsed="0.005565"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:09.997256" elapsed="0.000331"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:09.998241" elapsed="0.004504"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:09.997944" elapsed="0.004881"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:10.007768" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:10.003278" elapsed="0.004635">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:10.002983" elapsed="0.005073">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:09.997695" elapsed="0.010542">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:09.977948" elapsed="0.030519">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:09.961794" elapsed="0.046871">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:12.011339" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:12.010471" elapsed="0.000941"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:12.012131" elapsed="0.000075"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:12.011598" elapsed="0.000791"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:12.011555" elapsed="0.000891"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:12.037271" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:12.037556" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:12.037751" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:12.026709" elapsed="0.011096"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:12.038602" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:12.037963" elapsed="0.000752"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:12.043467" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:12.039012" elapsed="0.004568"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:12.038762" elapsed="0.004889"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:12.037925" elapsed="0.005769"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:12.043947" elapsed="0.000394"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:12.044950" elapsed="0.004919"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:12.044709" elapsed="0.005241"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:12.054925" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:12.050409" elapsed="0.004661">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:12.050136" elapsed="0.005159">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:12.044452" elapsed="0.010991">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:12.025830" elapsed="0.029841">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:12.009605" elapsed="0.046320">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:14.058943" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:14.058066" elapsed="0.000940"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:14.059754" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:14.059237" elapsed="0.000633"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:14.059167" elapsed="0.000751"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:14.085278" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:14.085559" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:14.085753" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:14.073836" elapsed="0.011970"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:14.086617" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:14.085963" elapsed="0.000769"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:14.091393" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:14.087031" elapsed="0.004465"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:14.086782" elapsed="0.004783"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:14.085926" elapsed="0.005683"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:14.091861" elapsed="0.000391"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:14.092867" elapsed="0.004504"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:14.092623" elapsed="0.004829"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:14.102373" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:14.097854" elapsed="0.004667">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:14.097614" elapsed="0.005054">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:14.092364" elapsed="0.010512">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:14.072963" elapsed="0.030141">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:14.057141" elapsed="0.046191">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:16.106424" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:16.105582" elapsed="0.000904"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:16.107223" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:16.106671" elapsed="0.000666"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:16.106628" elapsed="0.000759"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:16.136013" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:16.136356" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:16.136569" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:16.121884" elapsed="0.014736"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:16.137412" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:16.136774" elapsed="0.000748"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:16.142530" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:16.137815" elapsed="0.004831"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:16.137571" elapsed="0.005162"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:16.136736" elapsed="0.006047"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:16.143053" 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-09-05T23:53:16.144139" elapsed="0.004870"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:16.143857" elapsed="0.005263"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:16.154511" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:16.149582" elapsed="0.005209">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:16.149323" elapsed="0.005626">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:16.143585" elapsed="0.011520">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:16.121022" elapsed="0.034339">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:16.104720" elapsed="0.050853">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:18.157725" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:18.157208" elapsed="0.000557"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:18.158230" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:18.157873" elapsed="0.000425"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:18.157847" elapsed="0.000483"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:18.177366" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:18.177581" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:18.177694" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:18.166899" elapsed="0.010825"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:18.178199" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:18.177815" elapsed="0.000450"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:18.181313" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:18.178444" elapsed="0.003009"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:18.178294" elapsed="0.003199"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:18.177793" elapsed="0.003727"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:18.181672" elapsed="0.000201"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:18.182285" elapsed="0.002696"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:18.182112" elapsed="0.002914"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:18.188021" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:18.185301" elapsed="0.002835">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:18.185137" elapsed="0.003107">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:18.181942" elapsed="0.006377">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:18.166414" elapsed="0.022028">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:18.156592" elapsed="0.031961">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:20.191460" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:20.190610" elapsed="0.000913"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:20.192304" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:20.191692" elapsed="0.000743"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:20.191649" elapsed="0.000836"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:20.218251" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:20.218607" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:20.218919" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:20.206329" elapsed="0.012646"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:20.219806" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:20.219163" elapsed="0.000758"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:20.224663" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:20.220271" elapsed="0.004500"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:20.219971" elapsed="0.004869"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:20.219122" elapsed="0.005763"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:20.225157" elapsed="0.000378"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:20.226221" elapsed="0.004719"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:20.225929" elapsed="0.005096"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:20.236025" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:20.231507" elapsed="0.004723">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:20.231255" elapsed="0.005132">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:20.225672" elapsed="0.010836">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:20.205449" elapsed="0.031262">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:20.189610" elapsed="0.047293">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:22.239467" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:22.238639" elapsed="0.000892"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:22.240285" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:22.239695" elapsed="0.000797"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:22.239654" elapsed="0.000893"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:22.268299" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:22.268581" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:22.268795" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:22.255340" elapsed="0.013509"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:22.269653" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:22.269009" elapsed="0.000761"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:22.274418" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:22.270092" elapsed="0.004432"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:22.269820" elapsed="0.004771"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:22.268969" elapsed="0.005668"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:22.274887" elapsed="0.000386"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:22.275879" elapsed="0.004505"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:22.275639" elapsed="0.004825"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:22.285466" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:22.280862" elapsed="0.004754">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:22.280624" elapsed="0.005136">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:22.275385" elapsed="0.010498">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:22.254451" elapsed="0.031660">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:22.237798" elapsed="0.048616">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:24.289096" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:24.288225" elapsed="0.000937"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:24.289930" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:24.289406" elapsed="0.000722"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:24.289355" elapsed="0.000853"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:24.317441" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:24.317739" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:24.317933" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:24.304576" elapsed="0.013409"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:24.318783" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:24.318166" elapsed="0.000730"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:24.324069" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:24.319248" elapsed="0.004928"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:24.318946" elapsed="0.005338"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:24.318127" elapsed="0.006221"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:24.324620" elapsed="0.000340"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:24.325628" elapsed="0.004649"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:24.325383" elapsed="0.004977"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:24.335315" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:24.330766" elapsed="0.004708">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:24.330525" elapsed="0.005098">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:24.325094" elapsed="0.010742">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:24.303458" elapsed="0.032610">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:24.287360" elapsed="0.048940">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:26.339036" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:26.338146" elapsed="0.000959"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:26.339870" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:26.339316" elapsed="0.000699"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:26.339269" elapsed="0.000803"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:26.368336" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:26.368648" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:26.368847" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:26.356012" elapsed="0.012887"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:26.369755" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:26.369090" elapsed="0.000796"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:26.374906" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:26.370254" elapsed="0.004780"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:26.369938" elapsed="0.005164"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:26.369045" elapsed="0.006102"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:26.375430" elapsed="0.000339"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:26.376448" elapsed="0.004692"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:26.376167" elapsed="0.005086"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:26.386888" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:26.381698" elapsed="0.005510">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:26.381416" elapsed="0.005949">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:26.375885" elapsed="0.011602">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:26.355069" elapsed="0.032624">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:26.337237" elapsed="0.050647">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:28.389958" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:28.389261" elapsed="0.000766"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:28.390568" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:28.390168" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:28.390132" elapsed="0.000550"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:28.411725" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:28.411932" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:28.412095" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:28.400280" elapsed="0.011851"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:28.412697" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:28.412293" elapsed="0.000481"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:28.415876" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:28.413011" elapsed="0.003038"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:28.412807" elapsed="0.003292"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:28.412259" 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-09-05T23:53:28.416323" 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-09-05T23:53:28.416993" elapsed="0.002931"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:28.416805" elapsed="0.003190"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:28.423464" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:28.420430" elapsed="0.003137">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:28.420235" elapsed="0.003431">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:28.416630" elapsed="0.007118">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:28.399678" elapsed="0.024205">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:28.388608" elapsed="0.035417">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:30.426790" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:30.425875" 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="NOT RUN" start="2026-09-05T23:53:30.427642" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:30.427061" elapsed="0.000705"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:30.427014" elapsed="0.000803"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:30.454541" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:30.454851" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:30.455221" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:30.443204" elapsed="0.012077"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:30.456169" elapsed="0.000085"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:30.455468" elapsed="0.000856"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:30.461924" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:30.456709" elapsed="0.005350"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:30.456378" elapsed="0.005755"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:30.455422" elapsed="0.006787"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:30.462484" elapsed="0.000360"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:30.463680" elapsed="0.004858"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:30.463409" elapsed="0.005216"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:30.474244" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:30.469130" elapsed="0.005300">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:30.468805" elapsed="0.005789">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:30.463105" elapsed="0.011622">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:30.442222" elapsed="0.032758">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:30.424916" elapsed="0.050302">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:32.478088" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:32.477139" 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="NOT RUN" start="2026-09-05T23:53:32.479015" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:32.478384" elapsed="0.000908"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:32.478338" elapsed="0.001025"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:32.505358" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:32.505706" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:32.505907" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:32.493614" elapsed="0.012377"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:32.506805" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:32.506153" elapsed="0.000772"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:32.511741" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:32.507302" elapsed="0.004550"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:32.507002" elapsed="0.004918"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:32.506113" elapsed="0.005882"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:32.512290" elapsed="0.000352"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:32.513355" elapsed="0.004646"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:32.513073" elapsed="0.005015"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:32.523368" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:32.518536" elapsed="0.004986">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:32.518289" elapsed="0.005380">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:32.512779" elapsed="0.011014">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:32.492735" elapsed="0.031291">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:32.476146" elapsed="0.048199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:34.527379" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:34.526461" elapsed="0.000986"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:34.528304" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:34.527659" elapsed="0.000764"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:34.527614" elapsed="0.000858"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:34.554449" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:34.554757" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:34.555003" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:34.542809" elapsed="0.012248"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:34.555846" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:34.555248" elapsed="0.000742"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:34.560603" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:34.556331" elapsed="0.004376"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:34.556040" elapsed="0.004735"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:34.555176" elapsed="0.005643"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:34.561088" 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-09-05T23:53:34.562099" elapsed="0.004582"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:34.561828" elapsed="0.004939"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:34.571823" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:34.567245" elapsed="0.004753">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:34.566963" elapsed="0.005184">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:34.561574" elapsed="0.010811">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:34.541937" elapsed="0.030661">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:34.525506" elapsed="0.047283">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:36.575810" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:36.574691" 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="NOT RUN" start="2026-09-05T23:53:36.576692" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:36.576126" elapsed="0.000684"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:36.576077" elapsed="0.000781"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:36.603412" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:36.603696" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:36.603919" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:36.591069" elapsed="0.012905"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:36.604754" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:36.604132" elapsed="0.000734"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:36.609880" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:36.605217" elapsed="0.004790"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:36.604939" elapsed="0.005136"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:36.604093" elapsed="0.006027"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:36.610403" elapsed="0.000337"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:36.611398" elapsed="0.004426"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:36.611127" elapsed="0.004801"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:36.620804" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:36.616362" elapsed="0.004706">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:36.616091" elapsed="0.005176">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:36.610850" elapsed="0.010556">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:36.590137" elapsed="0.031477">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:36.573754" elapsed="0.048051">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:38.624564" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:38.623680" elapsed="0.000948"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:38.625364" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:38.624796" elapsed="0.000684"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:38.624753" elapsed="0.000778"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:38.655460" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:38.655755" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:38.655982" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:38.639527" elapsed="0.016510"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:38.657032" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:38.656415" elapsed="0.000730"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:38.661779" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:38.657472" elapsed="0.004521"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:38.657223" elapsed="0.004840"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:38.656361" elapsed="0.005746"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:38.662391" elapsed="0.000338"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:38.663395" elapsed="0.004546"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:38.663122" elapsed="0.004900"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:38.672931" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:38.668474" elapsed="0.004607">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:38.668217" elapsed="0.005041">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:38.662842" elapsed="0.010541">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:38.638654" elapsed="0.034930">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:38.622750" elapsed="0.051024">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:40.676465" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:40.675606" elapsed="0.000922"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:40.677259" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:40.676695" elapsed="0.000681"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:40.676652" elapsed="0.000774"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:40.705103" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:40.705437" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:40.705737" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:40.694066" elapsed="0.011724"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:40.706612" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:40.705980" elapsed="0.000747"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:40.711378" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:40.707049" elapsed="0.004435"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:40.706777" elapsed="0.004777"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:40.705939" elapsed="0.005660"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:40.711849" elapsed="0.000393"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:40.712851" elapsed="0.004518"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:40.712609" elapsed="0.004842"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:40.722740" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:40.717852" elapsed="0.005059">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:40.717612" elapsed="0.005449">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:40.712354" elapsed="0.010852">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:40.693210" elapsed="0.030205">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:40.674718" elapsed="0.048884">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:42.726554" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:42.725628" elapsed="0.000994"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:42.727407" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:42.726803" elapsed="0.000853"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:42.726756" elapsed="0.000964"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:42.754101" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:42.754469" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:42.754678" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:42.742467" elapsed="0.012265"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:42.755800" elapsed="0.000082"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:42.754930" elapsed="0.001023"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:42.760778" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:42.756308" elapsed="0.004623"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:42.756008" elapsed="0.004995"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:42.754886" elapsed="0.006164"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:42.761345" elapsed="0.000368"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:42.762423" elapsed="0.005128"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:42.762138" elapsed="0.005500"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:42.772877" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:42.768118" elapsed="0.004917">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:42.767809" elapsed="0.005431">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:42.761859" elapsed="0.011517">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:42.741531" elapsed="0.032060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:42.724642" elapsed="0.049248">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:44.776865" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:44.775921" elapsed="0.001013"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:44.777662" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:44.777105" elapsed="0.000672"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:44.777060" elapsed="0.000785"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:44.804140" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:44.804480" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:44.804675" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:44.792027" elapsed="0.012699"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:44.805531" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:44.804908" elapsed="0.000736"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:44.810364" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:44.805964" elapsed="0.004503"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:44.805692" elapsed="0.004846"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:44.804868" elapsed="0.005714"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:44.810854" elapsed="0.000366"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:44.811989" elapsed="0.004467"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:44.811724" elapsed="0.004815"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:44.821659" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:44.816963" elapsed="0.004846">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:44.816699" elapsed="0.005284">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:44.811467" elapsed="0.010766">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:44.791145" elapsed="0.031304">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:44.774940" elapsed="0.047700">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:46.825227" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:46.824385" elapsed="0.000906"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:46.825986" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:46.825456" elapsed="0.000645"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:46.825414" elapsed="0.000735"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:46.851920" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:46.852249" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:46.852474" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:46.840609" elapsed="0.011920"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:46.853359" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:46.852696" elapsed="0.000778"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:46.858261" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:46.853779" elapsed="0.004594"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:46.853525" elapsed="0.004920"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:46.852653" elapsed="0.005837"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:46.858743" elapsed="0.000360"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:46.859751" elapsed="0.004570"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:46.859503" elapsed="0.004904"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:46.869416" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:46.864835" elapsed="0.004827">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:46.864569" elapsed="0.005264">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:46.859245" elapsed="0.010715">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:46.839737" elapsed="0.030431">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:46.823544" elapsed="0.047021">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:48.873282" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:48.872426" elapsed="0.000925"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:48.874061" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:48.873518" elapsed="0.000657"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:48.873475" elapsed="0.000782"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:48.905636" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:48.905982" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:48.906244" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:48.888342" elapsed="0.017961"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:48.907159" elapsed="0.000084"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:48.906487" elapsed="0.000820"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:48.912039" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:48.907624" elapsed="0.004665"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:48.907358" elapsed="0.005005"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:48.906440" elapsed="0.005968"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:48.912664" elapsed="0.000406"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:48.913742" elapsed="0.004937"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:48.913489" elapsed="0.005272"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:48.923763" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:48.919225" elapsed="0.004713">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:48.918950" elapsed="0.005134">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:48.913222" elapsed="0.011017">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:48.887470" elapsed="0.036981">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:48.871562" elapsed="0.053080">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:50.927675" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:50.926526" elapsed="0.001217"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:50.928543" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:50.927935" elapsed="0.000726"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:50.927891" elapsed="0.000822"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:50.953387" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:50.953669" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:50.953972" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:50.943394" elapsed="0.010631"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:50.954855" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:50.954213" elapsed="0.000757"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:50.960354" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:50.955297" elapsed="0.005168"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:50.955020" elapsed="0.005514"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:50.954144" elapsed="0.006558"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:50.960980" elapsed="0.000372"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:50.962153" elapsed="0.004480"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:50.961901" elapsed="0.004813"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:50.971619" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:50.967140" elapsed="0.004655">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:50.966900" elapsed="0.005043">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:50.961468" elapsed="0.010597">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:50.942520" elapsed="0.029777">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:50.925609" elapsed="0.046881">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:52.975135" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:52.974313" elapsed="0.000916"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:52.975936" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:52.975399" elapsed="0.000749"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:52.975355" elapsed="0.000879"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:53.002801" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:53.003082" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:53.003333" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:52.990848" elapsed="0.012540"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:53.004159" elapsed="0.000082"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:53.003547" elapsed="0.000758"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:53.008976" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:53.004608" elapsed="0.004474"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:53.004356" elapsed="0.004795"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:53.003508" elapsed="0.005720"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:53.009485" elapsed="0.000357"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:53.010512" elapsed="0.004444"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:53.010266" elapsed="0.004772"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:53.019959" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:53.015478" elapsed="0.004626">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:53.015232" elapsed="0.005048">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:53.009953" elapsed="0.010455">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:52.989897" elapsed="0.030868">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:52.973452" elapsed="0.047578">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:55.023683" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:55.022847" elapsed="0.000925"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:55.024492" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:55.023945" elapsed="0.000663"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:55.023900" elapsed="0.000757"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:55.051251" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:55.051535" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:55.051753" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:55.038834" elapsed="0.012974"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:55.052593" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:55.051968" elapsed="0.000793"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:55.057569" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:55.053115" elapsed="0.004560"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:55.052826" elapsed="0.004942"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:55.051927" elapsed="0.005888"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:55.058070" elapsed="0.000372"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:55.059076" elapsed="0.004979"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:55.058835" elapsed="0.005307"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:55.069253" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:55.064602" elapsed="0.004801">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:55.064349" elapsed="0.005208">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:55.058554" elapsed="0.011240">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:55.037906" elapsed="0.032100">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:55.021962" elapsed="0.048267">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:57.072998" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:57.072142" elapsed="0.000919"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:57.073801" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:57.073264" elapsed="0.000651"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:57.073219" elapsed="0.000746"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:57.099274" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:57.099555" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:57.099784" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:57.087820" elapsed="0.012018"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:57.100618" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:57.099995" elapsed="0.000762"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:57.105385" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:57.101058" elapsed="0.004431"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:57.100807" elapsed="0.004751"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:57.099956" elapsed="0.005647"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:57.105875" elapsed="0.000368"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:57.106876" elapsed="0.004459"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:57.106614" elapsed="0.004801"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:57.116406" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:57.111850" elapsed="0.004797">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:57.111580" elapsed="0.005242">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:57.106357" elapsed="0.010589">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:57.086943" elapsed="0.030204">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:57.071270" elapsed="0.046105">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:53:59.120267" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:53:59.119379" elapsed="0.000953"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:53:59.121081" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:59.120508" elapsed="0.000723"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:59.120462" elapsed="0.000824"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:53:59.149027" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:53:59.149362" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:53:59.149584" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:53:59.135772" elapsed="0.013866"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:53:59.150444" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:53:59.149820" elapsed="0.000739"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:53:59.155398" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:53:59.150910" elapsed="0.004780"/>
</kw>
<status status="PASS" start="2026-09-05T23:53:59.150609" elapsed="0.005183"/>
</branch>
<status status="PASS" start="2026-09-05T23:53:59.149780" elapsed="0.006073"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:53:59.156269" elapsed="0.000506"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:53:59.157575" elapsed="0.004695"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:53:59.157323" elapsed="0.005028"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:53:59.167928" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:53:59.162772" elapsed="0.005309">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:53:59.162511" elapsed="0.005749">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:53:59.156940" elapsed="0.011445">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:53:59.134889" elapsed="0.033700">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:53:59.118395" elapsed="0.050423">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:01.171605" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:01.170775" elapsed="0.000917"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:54:01.172409" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:01.171863" elapsed="0.000661"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:01.171820" elapsed="0.000753"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:01.197699" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:01.197994" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:01.198324" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:01.186426" elapsed="0.011954"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:01.199162" elapsed="0.000081"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:01.198542" elapsed="0.000767"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:01.203978" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:01.199611" elapsed="0.004472"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:01.199358" elapsed="0.004795"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:01.198501" elapsed="0.005731"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:01.204488" elapsed="0.000361"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:54:01.205496" elapsed="0.004922"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:54:01.205252" elapsed="0.005250"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:01.215394" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:01.210935" elapsed="0.004609">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:54:01.210689" elapsed="0.005026">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:01.204964" elapsed="0.010876">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:01.185511" elapsed="0.030528">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:01.169861" elapsed="0.046393">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:03.218934" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:03.218097" elapsed="0.000900"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:54:03.219727" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:03.219163" elapsed="0.000776"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:03.219121" elapsed="0.000871"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:03.245847" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:03.246140" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:03.246380" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:03.233871" elapsed="0.012563"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:03.247245" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:03.246593" elapsed="0.000771"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:03.252052" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:03.247685" elapsed="0.004473"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:03.247414" elapsed="0.004846"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:03.246553" elapsed="0.005754"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:03.252560" elapsed="0.000359"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:54:03.253571" elapsed="0.004475"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:54:03.253328" elapsed="0.004800"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:03.263060" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:03.258561" elapsed="0.004679">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:54:03.258321" elapsed="0.005067">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:03.253032" elapsed="0.010480">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:03.233013" elapsed="0.030743">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:03.217230" elapsed="0.046786">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:05.266911" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:05.265986" 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-09-05T23:54:05.267773" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:05.267167" elapsed="0.000736"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:05.267120" elapsed="0.000836"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:05.295241" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:05.295531" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:05.295770" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:05.283782" elapsed="0.012040"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:05.296591" elapsed="0.000076"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:05.295980" elapsed="0.000751"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:05.301377" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:05.297033" elapsed="0.004448"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:05.296782" elapsed="0.004767"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:05.295942" elapsed="0.005672"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:05.301868" elapsed="0.000361"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:54:05.302849" elapsed="0.004427"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:54:05.302609" elapsed="0.004748"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:05.312357" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:05.307767" elapsed="0.004738">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:54:05.307514" elapsed="0.005158">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:05.302340" elapsed="0.010536">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:05.282825" elapsed="0.030259">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:05.265027" elapsed="0.048309">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:07.316460" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:07.315447" elapsed="0.001080"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:54:07.317295" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:07.316732" elapsed="0.000680"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:07.316684" elapsed="0.000782"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:07.344164" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:07.344519" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:07.344788" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:07.331405" elapsed="0.013450"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:07.345985" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:07.345262" elapsed="0.000846"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:07.351242" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:07.346468" elapsed="0.004883"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:07.346159" elapsed="0.005259"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:07.345214" elapsed="0.006249"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:07.351737" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:54:07.352778" elapsed="0.004644"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:54:07.352498" elapsed="0.005007"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:07.362593" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:07.357942" elapsed="0.004907">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:54:07.357694" elapsed="0.005309">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:07.352229" elapsed="0.010897">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:07.330527" elapsed="0.032847">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:07.314405" elapsed="0.049184">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:09.366309" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:09.365436" elapsed="0.000940"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:54:09.367085" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:09.366567" elapsed="0.000662"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:09.366502" elapsed="0.000780"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:09.393079" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:09.393428" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:09.393654" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:09.381238" elapsed="0.012470"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:09.394483" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:09.393861" elapsed="0.000758"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:09.399284" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:09.394936" elapsed="0.004538"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:09.394669" elapsed="0.004945"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:09.393822" elapsed="0.005840"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:09.399920" elapsed="0.000375"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:54:09.401052" elapsed="0.004514"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:54:09.400736" elapsed="0.004913"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:09.410645" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:09.406052" elapsed="0.004766">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:54:09.405812" elapsed="0.005156">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:09.400411" elapsed="0.010678">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:09.380363" elapsed="0.030966">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:09.364532" elapsed="0.046991">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:11.414490" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:11.413620" elapsed="0.000962"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:54:11.415338" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:11.414761" elapsed="0.000697"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:11.414714" elapsed="0.000796"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:11.441334" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:11.441675" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:11.442008" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:11.429983" elapsed="0.012083"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:11.442887" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:11.442263" elapsed="0.000739"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:11.447726" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:11.443332" elapsed="0.004498"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:11.443052" elapsed="0.004847"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:11.442220" elapsed="0.005722"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:11.448227" 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-09-05T23:54:11.449265" elapsed="0.004526"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:54:11.448989" elapsed="0.004885"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:11.458850" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:11.454312" elapsed="0.004696">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:54:11.454036" elapsed="0.005122">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:11.448724" elapsed="0.010592">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:11.429100" elapsed="0.030450">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:11.412656" elapsed="0.047091">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<msg time="2026-09-05T23:54:11.459938" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>CONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-09-05T23:52:41.235375" elapsed="90.225090">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-05T23:54:11.460865" elapsed="0.000046"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:54:11.462687" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-05T23:54:11.833294" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:54:11.833743" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:54:11.833860" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:54:11.833968" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:54:11.462279" elapsed="0.371749"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:11.835354" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:11.834596" elapsed="0.000850"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:54:11.836284" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-05T23:54:12.150695" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:54:12.151094" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:54:12.151230" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:54:12.151335" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:54:11.835838" elapsed="0.315549"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:54:12.152434" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-05T23:54:12.216030" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-05T23:54:12.216380" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-05T23:54:12.216473" level="INFO">${stderr} = </msg>
<msg time="2026-09-05T23:54:12.216586" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:54:12.151944" elapsed="0.064691"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:54:12.217386" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-05T23:54:12.267767" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:54:12.217059" elapsed="0.050851"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:12.290661" level="INFO">DELETE Request : url=http://10.30.171.119: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=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:12.290776" level="INFO">DELETE Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:12.290980" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:12.268246" elapsed="0.022785"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:12.313688" level="INFO">DELETE Request : url=http://10.30.171.119: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=node09bmuyrz767jm7gkd0au3hfrd0.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:12.314028" level="INFO">DELETE Response : url=http://10.30.171.119:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-05T23:54:12.314282" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:12.291359" elapsed="0.022980"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-05T23:54:11.461578" elapsed="0.852904"/>
</kw>
<doc>Correct credentials should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-09-05T23:52:39.520485" elapsed="92.794147">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmllsE6jI3kvtfrIYTgh2MzRHcY4q9bVfpCNxmqpW2HJJMu3xJo+8fq40Yjxc8FHNZlFG5uJ5X4V4Yn9sDdnrBpThAZODaHqtnpCXtmOMnQBGydkY0yZV974l0Y7h4MIWrr2zBwtG/utDbTCrIOMsNmtprn1F3dWfSXAa/g1qRJC28DGs3VZ2tgP9A07V1Y9BYKvXb8FBs1mgQsOdOLeW15zEuysLtGLXH/jSeLOQOcYNSSIWxULNRwEYio2gx2fPXnHqHqq7wAgG24j7Modt74gkdX/pyRgEfabHVkS7uiXXoJ7rAA0nH+PTAG0azrTofc8wqNwgi+oriyMmmPTnH","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</test>
<test id="s1-s1-t2" name="CallHome over SSH with incorrect device credentials" line="34">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:12.318627" level="INFO">Creating Session using : alias=session, url=http://10.30.171.119:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7526caf19c50&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-05T23:54:12.318023" elapsed="0.000998"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:54:12.319582" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-05T23:54:12.332453" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:54:12.319345" elapsed="0.013264"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:54:12.333171" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-05T23:54:12.853677" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:54:12.332967" elapsed="0.520895"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:54:12.854704" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-05T23:54:12.900307" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-05T23:54:12.900544" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:54:12.854404" elapsed="0.046196"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-05T23:54:12.909327" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-05T23:54:12.900957" elapsed="0.008466"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-05T23:54:12.317077" elapsed="0.592489"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-05T23:54:12.948571" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-05T23:54:12.910489" elapsed="0.038211"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-05T23:54:12.958384" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-05T23:54:12.948998" elapsed="0.009563"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-05T23:54:12.909925" elapsed="0.048793"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-05T23:54:12.968983" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:12.960450" elapsed="0.008648"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-05T23:54:12.970389" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-09-05T23:54:12.970728" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-05T23:54:12.970044" elapsed="0.000742"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-05T23:54:12.971853" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-05T23:54:12.971106" elapsed="0.000835"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:12.969472" elapsed="0.002578"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:12.969155" elapsed="0.002943"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:12.960379" elapsed="0.011766"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:54:12.973000" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
      ...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:54:12.972485" elapsed="0.000572"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:54:12.973879" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
          },...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:54:12.973394" elapsed="0.000542"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:54:12.974865" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "incorrect" ]
          },
...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:54:12.974378" elapsed="0.000543"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:54:12.975719" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "incorrect" ]
          },
...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:54:12.975243" elapsed="0.000531"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:13.002213" level="INFO">POST Request : url=http://10.30.171.119: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN"
        }
    }
}
 
 </msg>
<msg time="2026-09-05T23:54:13.002341" level="INFO">POST Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 04-Sep-2026 23:54:12 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:13.002587" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:12.976048" elapsed="0.026594"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:54:13.003023" elapsed="0.004645"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>root</arg>
<arg>incorrect</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-05T23:54:12.959405" elapsed="0.048399"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:54:13.008488" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-05T23:54:13.325271" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:54:13.325642" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:54:13.325733" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:54:13.325816" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:54:13.008107" elapsed="0.317755"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:13.329299" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:13.328533" elapsed="0.000823"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:13.330092" elapsed="0.000512"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:13.329537" elapsed="0.001143"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:13.329468" elapsed="0.001269"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:13.360150" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:13.360530" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:13.360757" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:13.347851" elapsed="0.012958"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:13.361652" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:13.360977" elapsed="0.000789"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:13.366602" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:13.362170" elapsed="0.004537"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:13.361913" elapsed="0.004862"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:13.360933" elapsed="0.005886"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:13.367074" elapsed="0.000379"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:13.372669" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:13.368114" elapsed="0.004719">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:13.367859" elapsed="0.005123">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:13.367593" elapsed="0.005514">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:13.346961" elapsed="0.026386">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:13.327764" elapsed="0.045796">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:15.376267" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:15.375401" elapsed="0.000934"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:15.377052" elapsed="0.000474"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:15.376539" elapsed="0.001065"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:15.376466" elapsed="0.001190"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:15.402153" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:15.402527" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:15.402814" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:15.391381" elapsed="0.011485"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:15.403677" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:15.403023" elapsed="0.000766"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:15.408439" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:15.404089" elapsed="0.004475"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:15.403838" elapsed="0.004795"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:15.402984" elapsed="0.005692"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:15.408926" elapsed="0.000373"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:15.414880" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:15.409950" elapsed="0.005088">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:15.409707" elapsed="0.005514">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:15.409417" elapsed="0.005935">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:15.390536" elapsed="0.025046">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:15.374497" elapsed="0.041277">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:17.418592" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:17.417700" elapsed="0.000958"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:17.419383" elapsed="0.000444"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:17.418832" elapsed="0.001071"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:17.418787" elapsed="0.001170"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:17.447140" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:17.447524" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:17.447728" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:17.434068" elapsed="0.013712"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:17.448590" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:17.447939" elapsed="0.000766"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:17.453376" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:17.449005" elapsed="0.004499"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:17.448754" elapsed="0.004821"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:17.447900" elapsed="0.005720"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:17.453871" elapsed="0.000372"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:17.459519" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:17.454897" elapsed="0.004781">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:17.454652" elapsed="0.005178">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:17.454365" elapsed="0.005588">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:17.433206" elapsed="0.026957">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:17.416755" elapsed="0.043637">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:19.463270" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:19.462374" elapsed="0.000963"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:19.464060" elapsed="0.000491"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:19.463539" elapsed="0.001092"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:19.463491" elapsed="0.001193"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:19.490175" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:19.490560" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:19.490783" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:19.479058" elapsed="0.011779"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:19.491652" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:19.490996" elapsed="0.000773"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:19.496473" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:19.492072" elapsed="0.004507"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:19.491820" elapsed="0.004830"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:19.490956" elapsed="0.005738"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:19.496947" elapsed="0.000413"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:19.502822" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:19.498029" elapsed="0.004951">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:19.497779" elapsed="0.005354">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:19.497509" elapsed="0.005794">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:19.478168" elapsed="0.025380">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:19.461465" elapsed="0.042369">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:21.506814" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:21.505909" elapsed="0.000969"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:21.507630" elapsed="0.000420"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:21.507055" elapsed="0.001074"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:21.507009" elapsed="0.001206"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:21.533951" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:21.534339" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:21.534588" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:21.522081" elapsed="0.012561"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:21.535517" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:21.534824" elapsed="0.000811"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:21.540361" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:21.535943" elapsed="0.004545"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:21.535683" elapsed="0.004875"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:21.534780" elapsed="0.005821"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:21.540856" elapsed="0.000371"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:21.549174" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:21.542110" elapsed="0.007382">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:21.541733" elapsed="0.007974">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:21.541347" elapsed="0.008533">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:21.521239" elapsed="0.029090">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:21.504984" elapsed="0.045643">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:23.553440" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:23.552571" elapsed="0.000933"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:23.554225" elapsed="0.000441"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:23.553681" elapsed="0.001063"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:23.553634" elapsed="0.001162"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:23.579638" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:23.579944" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:23.580137" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:23.568813" elapsed="0.011408"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:23.581032" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:23.580406" elapsed="0.000741"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:23.587008" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:23.581562" elapsed="0.005580"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:23.581238" elapsed="0.006053"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:23.580341" elapsed="0.007005"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:23.587711" elapsed="0.000422"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:23.593840" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:23.589036" elapsed="0.004964">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:23.588683" elapsed="0.005469">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:23.588302" elapsed="0.006129">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:23.567950" elapsed="0.026705">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:23.551653" elapsed="0.043198">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:25.597662" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:25.596782" elapsed="0.000948"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:25.598517" elapsed="0.000426"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:25.597915" elapsed="0.001107"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:25.597865" elapsed="0.001213"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:25.624409" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:25.624724" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:25.624944" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:25.613674" elapsed="0.011323"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:25.625814" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:25.625155" elapsed="0.000774"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:25.630605" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:25.626285" elapsed="0.004426"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:25.625977" elapsed="0.004803"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:25.625116" elapsed="0.005707"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:25.631072" elapsed="0.000397"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:25.636765" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:25.632092" elapsed="0.004928">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:25.631849" elapsed="0.005326">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:25.631585" elapsed="0.005751">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:25.612769" elapsed="0.024800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:25.595835" elapsed="0.041927">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:27.640881" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:27.639925" 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-09-05T23:54:27.641764" elapsed="0.000496"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:27.641144" elapsed="0.001226"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:27.641095" elapsed="0.001336"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:27.669946" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:27.670368" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:27.670627" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:27.657754" elapsed="0.012933"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:27.671724" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:27.670899" elapsed="0.000956"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:27.677302" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:27.672231" elapsed="0.005325"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:27.671908" elapsed="0.005732"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:27.670844" elapsed="0.006845"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:27.677999" elapsed="0.000453"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:27.685047" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:27.679164" elapsed="0.006113">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:27.678877" elapsed="0.006602">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:27.678583" elapsed="0.007035">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:27.656677" elapsed="0.029171">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:27.638935" elapsed="0.047123">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:29.688210" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:29.687583" elapsed="0.000679"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:29.688747" elapsed="0.000271"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:29.688413" elapsed="0.000654"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:29.688376" elapsed="0.000727"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:29.706329" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:29.706567" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:29.706809" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:29.697747" elapsed="0.009096"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:29.707478" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:29.706980" elapsed="0.000576"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:29.710536" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:29.707757" elapsed="0.002846"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:29.707588" elapsed="0.003057"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:29.706947" 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-09-05T23:54:29.710832" elapsed="0.000229"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:29.714338" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:29.711511" elapsed="0.002944">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:29.711335" elapsed="0.003222">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:29.711140" elapsed="0.003503">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:29.697138" elapsed="0.017651">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:29.686859" elapsed="0.028068">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:31.717771" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:31.716854" elapsed="0.000986"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:31.718631" elapsed="0.000439"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:31.718029" elapsed="0.001125"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:31.717979" elapsed="0.001264"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:31.744332" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:31.744650" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:31.744886" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:31.735052" elapsed="0.009887"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:31.745836" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:31.745118" elapsed="0.000842"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:31.751075" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:31.746340" elapsed="0.004876"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:31.746013" elapsed="0.005307"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:31.745074" elapsed="0.006295"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:31.751645" elapsed="0.000362"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:31.757851" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:31.752741" elapsed="0.005278">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:31.752468" elapsed="0.005742">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:31.752132" elapsed="0.006236">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:31.734078" elapsed="0.024517">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:31.715910" elapsed="0.042892">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:33.760842" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:33.760308" elapsed="0.000576"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:33.761364" elapsed="0.000259"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:33.761005" elapsed="0.000665"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:33.760971" elapsed="0.000732"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:33.777906" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:33.778119" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:33.778277" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:33.770370" elapsed="0.007940"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:33.778761" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:33.778405" elapsed="0.000424"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:33.781669" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:33.779022" elapsed="0.002709"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:33.778859" elapsed="0.002912"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:33.778382" elapsed="0.003415"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:33.781954" elapsed="0.000203"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:33.785705" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:33.782576" elapsed="0.003232">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:33.782425" elapsed="0.003477">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:33.782261" elapsed="0.003717">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:33.769849" elapsed="0.016257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:33.759665" elapsed="0.026655">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:35.788922" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:35.788078" elapsed="0.000908"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:35.789713" elapsed="0.000407"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:35.789155" elapsed="0.001093"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:35.789110" elapsed="0.001195"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:35.813716" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:35.814016" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:35.814266" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:35.804219" elapsed="0.010101"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:35.815129" elapsed="0.000102"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:35.814490" elapsed="0.000810"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:35.819902" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:35.815620" elapsed="0.004384"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:35.815349" elapsed="0.004723"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:35.814441" elapsed="0.005674"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:35.820415" elapsed="0.000335"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:35.825899" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:35.821408" elapsed="0.004644">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:35.821120" elapsed="0.005129">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:35.820864" elapsed="0.005513">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:35.803371" elapsed="0.023298">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:35.787248" elapsed="0.039614">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:37.829581" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:37.828733" elapsed="0.000913"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:37.830379" elapsed="0.000413"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:37.829815" elapsed="0.001054"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:37.829771" elapsed="0.001150"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:37.855782" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:37.856093" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:37.856377" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:37.845759" elapsed="0.010672"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:37.857286" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:37.856609" elapsed="0.000794"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:37.862019" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:37.857708" elapsed="0.004412"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:37.857456" elapsed="0.004773"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:37.856563" elapsed="0.005714"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:37.862529" elapsed="0.000336"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:37.868001" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:37.863533" elapsed="0.004621">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:37.863280" elapsed="0.005067">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:37.862978" elapsed="0.005589">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:37.844877" elapsed="0.023906">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:37.827796" elapsed="0.041176">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:39.872788" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:39.871488" elapsed="0.001390"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:39.873918" elapsed="0.000670"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:39.873123" elapsed="0.001578"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:39.873057" elapsed="0.001730"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:39.903053" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:39.903440" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:39.903666" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:39.892498" elapsed="0.011224"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:39.904711" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:39.903919" elapsed="0.000920"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:39.910236" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:39.905227" elapsed="0.005130"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:39.904894" elapsed="0.005539"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:39.903870" elapsed="0.006611"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:39.910757" elapsed="0.000362"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:39.917117" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:39.911857" elapsed="0.005557">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:39.911581" elapsed="0.005990">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:39.911296" elapsed="0.006402">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:39.891448" elapsed="0.026461">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:39.870234" elapsed="0.047875">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:41.921037" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:41.920088" elapsed="0.001014"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:41.921882" elapsed="0.000529"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:41.921356" elapsed="0.001155"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:41.921308" elapsed="0.001275"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:41.949056" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:41.949496" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:41.949720" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:41.937986" elapsed="0.011789"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:41.950716" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:41.949934" elapsed="0.000901"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:41.956087" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:41.951165" elapsed="0.005228"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:41.950883" elapsed="0.005603"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:41.949895" elapsed="0.006649"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:41.956811" elapsed="0.000414"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:41.963033" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:41.957937" elapsed="0.005328">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:41.957686" elapsed="0.005773">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:41.957375" elapsed="0.006235">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:41.937020" elapsed="0.026817">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:41.919081" elapsed="0.044952">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:43.967276" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:43.966322" 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-09-05T23:54:43.968125" elapsed="0.000477"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:43.967518" elapsed="0.001161"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:43.967474" elapsed="0.001259"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:43.994582" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:43.994944" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:43.995329" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:43.983650" elapsed="0.011734"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:43.996266" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:43.995549" elapsed="0.000888"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:44.001314" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:43.996766" elapsed="0.004669"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:43.996501" elapsed="0.005034"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:43.995506" elapsed="0.006089"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:44.001861" elapsed="0.000397"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:44.007610" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:44.002877" elapsed="0.004891">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:44.002635" elapsed="0.005282">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:44.002375" elapsed="0.005665">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:43.982663" elapsed="0.025635">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:43.965264" elapsed="0.043228">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:46.011241" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:46.010380" elapsed="0.000926"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:46.011985" elapsed="0.000464"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:46.011476" elapsed="0.001049"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:46.011433" elapsed="0.001142"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:46.038093" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:46.038468" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:46.038670" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:46.026621" elapsed="0.012101"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:46.039533" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:46.038876" elapsed="0.000771"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:46.044297" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:46.039953" elapsed="0.004450"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:46.039695" elapsed="0.004776"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:46.038838" elapsed="0.005678"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:46.044767" elapsed="0.000362"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:46.051015" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:46.045779" elapsed="0.005448">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:46.045536" elapsed="0.005845">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:46.045274" elapsed="0.006231">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:46.025758" elapsed="0.025953">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:46.009469" elapsed="0.042428">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:48.055075" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:48.054242" elapsed="0.000899"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:48.055875" elapsed="0.000460"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:48.055342" elapsed="0.001070"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:48.055297" elapsed="0.001168"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:48.080733" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:48.081062" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:48.081292" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:48.070539" elapsed="0.010808"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:48.082127" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:48.081502" elapsed="0.000770"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:48.086895" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:48.082584" elapsed="0.004413"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:48.082321" elapsed="0.004766"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:48.081464" elapsed="0.005668"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:48.087415" elapsed="0.000338"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:48.092943" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:48.088425" elapsed="0.004705">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:48.088152" elapsed="0.005159">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:48.087866" elapsed="0.005571">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:48.069582" elapsed="0.024058">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:48.053010" elapsed="0.040919">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:50.096670" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:50.095799" elapsed="0.000936"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:50.097504" elapsed="0.000416"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:50.096911" elapsed="0.001087"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:50.096865" elapsed="0.001208"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:50.126538" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:50.126846" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:50.127087" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:50.114836" elapsed="0.012305"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:50.127921" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:50.127340" elapsed="0.000721"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:50.132652" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:50.128391" elapsed="0.004364"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:50.128111" elapsed="0.004715"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:50.127300" elapsed="0.005569"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:50.133144" elapsed="0.000371"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:50.138882" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:50.134323" elapsed="0.004740">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:50.133889" elapsed="0.005359">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:50.133630" elapsed="0.005746">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:50.113962" elapsed="0.025736">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:50.094895" elapsed="0.045001">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:52.142534" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:52.141676" elapsed="0.000925"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:52.143355" elapsed="0.000417"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:52.142777" elapsed="0.001072"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:52.142732" elapsed="0.001170"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:52.168932" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:52.169345" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:52.169547" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:52.158048" elapsed="0.011551"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:52.170459" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:52.169754" elapsed="0.000822"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:52.175240" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:52.170880" elapsed="0.004467"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:52.170627" elapsed="0.004788"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:52.169715" elapsed="0.005745"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:52.175711" elapsed="0.000362"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:52.181782" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:52.176765" elapsed="0.005174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:52.176519" elapsed="0.005598">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:52.176241" elapsed="0.006116">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:52.157204" elapsed="0.025367">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:52.140772" elapsed="0.041985">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:54.185474" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:54.184608" elapsed="0.000931"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:54.186325" elapsed="0.000419"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:54.185716" elapsed="0.001106"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:54.185669" elapsed="0.001206"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:54.211109" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:54.211456" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:54.211653" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:54.200727" elapsed="0.010978"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:54.212511" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:54.211864" elapsed="0.000761"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:54.217274" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:54.212932" elapsed="0.004446"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:54.212675" elapsed="0.004771"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:54.211827" elapsed="0.005664"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:54.217742" elapsed="0.000359"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:54.223328" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:54.218761" elapsed="0.004824">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:54.218517" elapsed="0.005222">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:54.218250" elapsed="0.005615">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:54.199861" elapsed="0.024356">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:54.183708" elapsed="0.040715">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:56.227374" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:56.226410" elapsed="0.001033"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:54:56.228254" elapsed="0.000442"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:56.227621" elapsed="0.001153"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:56.227574" elapsed="0.001254"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:56.255642" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:56.255982" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:56.256294" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:56.245016" elapsed="0.011334"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:56.257259" elapsed="0.000063"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:56.256521" elapsed="0.000878"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:56.262623" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:56.257709" elapsed="0.005106"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:56.257453" elapsed="0.005433"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:56.256478" elapsed="0.006482"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:56.263326" elapsed="0.000359"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:56.269529" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:56.264465" elapsed="0.005219">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:56.264131" elapsed="0.005702">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:56.263803" elapsed="0.006188">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:56.244013" elapsed="0.026281">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:56.225428" elapsed="0.045081">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:54:58.273425" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:54:58.272451" 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="PASS" start="2026-09-05T23:54:58.274287" elapsed="0.000426"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:58.273679" elapsed="0.001130"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:58.273628" elapsed="0.001257"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:54:58.300417" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:54:58.300732" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:54:58.301097" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:54:58.290114" elapsed="0.011041"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:54:58.302047" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:54:58.301400" elapsed="0.000770"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:54:58.307107" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:54:58.302513" elapsed="0.004726"/>
</kw>
<status status="PASS" start="2026-09-05T23:54:58.302253" elapsed="0.005056"/>
</branch>
<status status="PASS" start="2026-09-05T23:54:58.301334" elapsed="0.006019"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:54:58.307606" elapsed="0.000407"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:54:58.313753" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:54:58.308684" elapsed="0.005253">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:54:58.308443" elapsed="0.005650">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:54:58.308145" elapsed="0.006103">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:54:58.289080" elapsed="0.025404">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:58.271482" elapsed="0.043197">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:00.317889" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:00.316900" elapsed="0.001060"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:00.318786" elapsed="0.000545"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:00.318144" elapsed="0.001289"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:00.318096" elapsed="0.001399"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:00.345695" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:00.346049" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:00.346282" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:00.334480" elapsed="0.011857"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:00.347114" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:00.346498" elapsed="0.000764"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:00.352131" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:00.347568" elapsed="0.004700"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:00.347312" elapsed="0.005028"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:00.346457" elapsed="0.005928"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:00.352692" elapsed="0.000449"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:00.358488" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:00.353807" elapsed="0.004847">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:00.353562" elapsed="0.005245">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:00.353293" elapsed="0.005691">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:00.333458" elapsed="0.025828">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:00.315766" elapsed="0.043738">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:02.363384" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:02.362421" elapsed="0.001033"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:02.364270" elapsed="0.000471"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:02.363661" elapsed="0.001164"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:02.363612" elapsed="0.001290"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:02.393225" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:02.393484" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:02.393630" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:02.381123" elapsed="0.012541"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:02.394303" elapsed="0.000069"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:02.393764" elapsed="0.000698"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:02.399328" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:02.394793" elapsed="0.004643"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:02.394526" elapsed="0.004981"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:02.393740" elapsed="0.005811"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:02.399808" elapsed="0.000474"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:02.405704" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:02.400971" elapsed="0.004920">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:02.400667" elapsed="0.005380">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:02.400400" elapsed="0.005773">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:02.380064" elapsed="0.026351">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:02.361349" elapsed="0.045354">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:04.409581" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:04.408626" elapsed="0.001026"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:04.410449" elapsed="0.000466"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:04.409865" elapsed="0.001136"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:04.409789" elapsed="0.001268"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:04.436899" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:04.437254" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:04.437468" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:04.426441" elapsed="0.011082"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:04.438383" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:04.437691" elapsed="0.000814"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:04.443544" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:04.438855" elapsed="0.004801"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:04.438557" elapsed="0.005174"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:04.437650" elapsed="0.006129"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:04.444078" elapsed="0.000398"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:04.450546" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:04.445165" elapsed="0.005548">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:04.444901" elapsed="0.006002">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:04.444598" elapsed="0.006460">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:04.425457" elapsed="0.025991">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:04.407651" elapsed="0.044040">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:06.454586" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:06.453646" elapsed="0.001008"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:06.455450" elapsed="0.000441"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:06.454860" elapsed="0.001111"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:06.454811" elapsed="0.001234"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:06.482071" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:06.482424" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:06.482627" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:06.471289" elapsed="0.011390"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:06.483653" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:06.482866" elapsed="0.000901"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:06.488517" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:06.484100" elapsed="0.004523"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:06.483847" elapsed="0.004845"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:06.482823" elapsed="0.005914"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:06.489019" elapsed="0.000389"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:06.494932" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:06.490083" elapsed="0.005009">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:06.489831" elapsed="0.005450">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:06.489540" elapsed="0.006034">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:06.470302" elapsed="0.025511">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:06.452661" elapsed="0.043349">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:08.498883" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:08.497947" elapsed="0.001006"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:08.499713" elapsed="0.000498"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:08.499133" elapsed="0.001161"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:08.499087" elapsed="0.001264"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:08.525733" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:08.526076" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:08.526339" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:08.515713" elapsed="0.010681"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:08.527260" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:08.526570" elapsed="0.000806"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:08.532071" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:08.527683" elapsed="0.004492"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:08.527430" elapsed="0.004847"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:08.526526" elapsed="0.005796"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:08.532578" elapsed="0.000362"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:08.538289" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:08.533618" elapsed="0.004964">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:08.533351" elapsed="0.005385">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:08.533055" elapsed="0.005834">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:08.514719" elapsed="0.024381">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:08.496967" elapsed="0.042360">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:10.542084" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:10.541240" elapsed="0.000910"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:10.542897" elapsed="0.000451"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:10.542357" elapsed="0.001070"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:10.542309" elapsed="0.001173"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:10.568028" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:10.568476" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:10.568704" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:10.557444" elapsed="0.011343"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:10.569568" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:10.568945" elapsed="0.000736"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:10.574595" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:10.570037" elapsed="0.004825"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:10.569756" elapsed="0.005179"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:10.568906" elapsed="0.006073"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:10.575265" elapsed="0.000343"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:10.581254" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:10.576287" elapsed="0.005127">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:10.576012" elapsed="0.005553">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:10.575744" elapsed="0.005946">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:10.556559" elapsed="0.025362">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:10.540319" elapsed="0.041791">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:12.585084" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:12.584134" elapsed="0.001025"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:12.585942" elapsed="0.000487"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:12.585379" elapsed="0.001130"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:12.585328" elapsed="0.001238"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:12.611424" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:12.611769" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:12.612103" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:12.600995" elapsed="0.011168"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:12.613003" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:12.612362" elapsed="0.000781"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:12.618428" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:12.613501" elapsed="0.005038"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:12.613230" elapsed="0.005380"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:12.612321" elapsed="0.006334"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:12.618942" elapsed="0.000403"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:12.624939" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:12.620037" elapsed="0.005065">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:12.619782" elapsed="0.005509">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:12.619476" elapsed="0.005945">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:12.600075" elapsed="0.025582">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:12.583131" elapsed="0.042756">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:14.628772" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:14.627851" elapsed="0.001018"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:14.629635" elapsed="0.000458"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:14.629054" elapsed="0.001117"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:14.629007" elapsed="0.001254"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:14.658804" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:14.659173" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:14.659483" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:14.645692" elapsed="0.013845"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:14.660618" elapsed="0.000100"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:14.659797" elapsed="0.000993"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:14.666483" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:14.661142" elapsed="0.005481"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:14.660844" elapsed="0.005896"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:14.659739" elapsed="0.007056"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:14.667086" elapsed="0.000457"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:14.673395" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:14.668367" elapsed="0.005206">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:14.668045" elapsed="0.005750">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:14.667708" elapsed="0.006256">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:14.644560" elapsed="0.029719">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:14.626906" elapsed="0.047624">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:16.677511" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:16.676601" elapsed="0.000976"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:16.678331" elapsed="0.000437"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:16.677779" elapsed="0.001066"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:16.677732" elapsed="0.001166"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:16.702809" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:16.703119" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:16.703352" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:16.692791" elapsed="0.010614"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:16.704217" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:16.703563" elapsed="0.000772"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:16.709069" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:16.704686" elapsed="0.004488"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:16.704386" elapsed="0.004890"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:16.703523" elapsed="0.005798"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:16.709578" elapsed="0.000366"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:16.715836" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:16.710607" elapsed="0.005440">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:16.710355" elapsed="0.005938">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:16.710059" elapsed="0.006423">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:16.691918" elapsed="0.024887">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:16.675688" elapsed="0.041417">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:18.719942" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:18.719044" elapsed="0.000965"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:18.720756" elapsed="0.000416"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:18.720215" elapsed="0.001064"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:18.720140" elapsed="0.001193"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:18.746402" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:18.746726" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:18.746926" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:18.735837" elapsed="0.011139"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:18.747830" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:18.747144" elapsed="0.000798"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:18.752681" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:18.748267" elapsed="0.004517"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:18.747991" elapsed="0.004861"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:18.747102" elapsed="0.005795"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:18.753149" elapsed="0.000440"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:18.758882" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:18.754333" elapsed="0.004700">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:18.754051" elapsed="0.005158">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:18.753767" elapsed="0.005572">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:18.734617" elapsed="0.025028">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:18.718088" elapsed="0.041755">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:20.762600" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:20.761736" elapsed="0.000957"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:20.763439" elapsed="0.000442"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:20.762872" elapsed="0.001086"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:20.762825" elapsed="0.001186"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:20.788014" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:20.788366" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:20.788615" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:20.778499" elapsed="0.010171"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:20.789495" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:20.788841" elapsed="0.000790"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:20.794371" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:20.789935" elapsed="0.004540"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:20.789683" elapsed="0.004861"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:20.788799" elapsed="0.005809"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:20.794862" elapsed="0.000364"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:20.800645" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:20.795880" elapsed="0.004959">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:20.795626" elapsed="0.005399">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:20.795341" elapsed="0.005940">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:20.777595" elapsed="0.023906">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:20.760822" elapsed="0.040936">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:22.804959" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:22.803948" elapsed="0.001094"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:22.805901" elapsed="0.000507"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:22.805256" elapsed="0.001239"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:22.805209" elapsed="0.001371"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:22.832943" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:22.833308" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:22.833522" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:22.822818" elapsed="0.010797"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:22.834501" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:22.833821" elapsed="0.000843"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:22.840015" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:22.835083" elapsed="0.005039"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:22.834730" elapsed="0.005497"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:22.833771" elapsed="0.006503"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:22.840747" elapsed="0.000404"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:22.847574" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:22.841935" elapsed="0.005967">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:22.841613" elapsed="0.006468">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:22.841304" elapsed="0.006943">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:22.821846" elapsed="0.026619">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:22.802886" elapsed="0.045840">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:24.851583" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:24.850650" elapsed="0.001001"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:24.852414" elapsed="0.000466"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:24.851831" elapsed="0.001129"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:24.851784" elapsed="0.001231"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:24.878924" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:24.879305" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:24.879547" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:24.867560" elapsed="0.012051"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:24.880456" elapsed="0.000077"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:24.879772" elapsed="0.000832"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:24.885474" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:24.880913" elapsed="0.004781"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:24.880652" elapsed="0.005118"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:24.879733" elapsed="0.006084"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:24.886077" elapsed="0.000404"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:24.891927" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:24.887151" elapsed="0.004935">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:24.886902" elapsed="0.005375">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:24.886629" elapsed="0.005790">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:24.866616" elapsed="0.026074">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:24.849703" elapsed="0.043194">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:26.895722" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:26.894810" elapsed="0.000982"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:26.896549" elapsed="0.000421"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:26.895971" elapsed="0.001076"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:26.895924" elapsed="0.001176"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:26.925351" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:26.925691" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:26.925994" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:26.914131" elapsed="0.011916"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:26.926873" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:26.926249" elapsed="0.000740"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:26.931809" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:26.927324" elapsed="0.004590"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:26.927037" elapsed="0.004946"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:26.926166" elapsed="0.005860"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:26.932310" elapsed="0.000362"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:26.937874" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:26.933327" elapsed="0.004704">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:26.933050" elapsed="0.005161">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:26.932785" elapsed="0.005558">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:26.913285" elapsed="0.025282">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:26.893903" elapsed="0.044855">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:28.940376" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:28.939943" elapsed="0.000467"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:28.940764" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:28.940515" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:28.940491" elapsed="0.000529"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:28.955143" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:28.955336" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:28.955426" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:28.947173" elapsed="0.008287"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:28.955804" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:28.955532" elapsed="0.000324"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:28.957902" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:28.955999" elapsed="0.001950"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:28.955882" elapsed="0.002097"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:28.955514" elapsed="0.002486"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:28.958113" elapsed="0.000171"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:28.960782" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:28.958586" elapsed="0.002278">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:28.958473" elapsed="0.002467">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:28.958339" elapsed="0.002657">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:28.946803" elapsed="0.014289">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:28.939422" elapsed="0.021768">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:30.964063" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:30.963110" elapsed="0.001018"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:30.964967" elapsed="0.000478"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:30.964334" elapsed="0.001210"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:30.964288" elapsed="0.001324"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:30.991175" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:30.991572" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:30.991850" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:30.981033" elapsed="0.010873"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:30.992849" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:30.992062" elapsed="0.000924"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:30.998146" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:30.993320" elapsed="0.004967"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:30.993036" elapsed="0.005340"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:30.992024" elapsed="0.006438"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:30.998792" elapsed="0.000416"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:31.005239" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:30.999939" elapsed="0.005459">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:30.999655" elapsed="0.005956">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:30.999327" elapsed="0.006447">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:30.980054" elapsed="0.025936">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:30.962113" elapsed="0.044199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:33.009445" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:33.008575" elapsed="0.000939"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:33.010233" elapsed="0.000439"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:33.009688" elapsed="0.001060"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:33.009643" elapsed="0.001159"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:33.034937" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:33.035280" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:33.035519" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:33.025095" elapsed="0.010477"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:33.036346" elapsed="0.000069"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:33.035730" elapsed="0.000751"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:33.041115" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:33.036782" elapsed="0.004465"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:33.036532" elapsed="0.004786"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:33.035691" elapsed="0.005672"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:33.041633" elapsed="0.000333"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:33.047231" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:33.042633" elapsed="0.004770">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:33.042367" elapsed="0.005188">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:33.042078" elapsed="0.005601">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:33.024254" elapsed="0.023715">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:33.007569" elapsed="0.040594">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:35.050881" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:35.050014" elapsed="0.000933"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:35.051681" elapsed="0.000411"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:35.051121" elapsed="0.001047"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:35.051075" elapsed="0.001178"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:35.076746" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:35.077049" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:35.077275" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:35.066122" elapsed="0.011206"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:35.078080" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:35.077505" elapsed="0.000714"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:35.083281" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:35.078674" elapsed="0.004734"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:35.078271" elapsed="0.005205"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:35.077466" elapsed="0.006056"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:35.083777" elapsed="0.000340"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:35.090059" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:35.084799" elapsed="0.005464">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:35.084553" elapsed="0.005885">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:35.084266" elapsed="0.006395">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:35.065295" elapsed="0.025579">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:35.049100" elapsed="0.041962">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:37.093754" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:37.092903" 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-09-05T23:55:37.094553" elapsed="0.000407"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:37.093986" elapsed="0.001048"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:37.093943" elapsed="0.001145"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:37.119046" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:37.119412" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:37.119609" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:37.109209" elapsed="0.010450"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:37.120441" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:37.119810" elapsed="0.000741"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:37.125224" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:37.120854" elapsed="0.004493"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:37.120601" elapsed="0.004814"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:37.119773" elapsed="0.005686"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:37.125708" elapsed="0.000330"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:37.131308" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:37.126709" elapsed="0.004874">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:37.126466" elapsed="0.005273">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:37.126150" elapsed="0.005715">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:37.108374" elapsed="0.023699">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:37.091988" elapsed="0.040308">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:39.134342" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:39.133755" elapsed="0.000634"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:39.134850" elapsed="0.000269"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:39.134508" elapsed="0.000662"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:39.134477" elapsed="0.000752"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:39.154663" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:39.154877" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:39.155014" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:39.144232" elapsed="0.010815"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:39.155568" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:39.155143" elapsed="0.000497"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:39.158557" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:39.155830" elapsed="0.002865"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:39.155671" elapsed="0.003067"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:39.155119" elapsed="0.003647"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:39.158926" elapsed="0.000216"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:39.162450" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:39.159581" elapsed="0.002974">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:39.159421" elapsed="0.003230">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:39.159235" elapsed="0.003495">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:39.143697" elapsed="0.019164">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:39.133070" elapsed="0.029909">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:41.165882" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:41.164928" elapsed="0.001022"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:41.166764" elapsed="0.000477"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:41.166133" elapsed="0.001216"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:41.166085" elapsed="0.001323"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:41.192982" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:41.193389" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:41.193686" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:41.182042" elapsed="0.011714"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:41.194641" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:41.193929" elapsed="0.000837"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:41.199630" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:41.195102" elapsed="0.004637"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:41.194838" elapsed="0.004970"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:41.193889" elapsed="0.005963"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:41.200141" elapsed="0.000424"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:41.206473" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:41.201288" elapsed="0.005349">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:41.200952" elapsed="0.005840">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:41.200683" elapsed="0.006236">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:41.181128" elapsed="0.025997">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:41.163954" elapsed="0.043453">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:43.210046" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:43.209247" elapsed="0.000861"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:43.210832" elapsed="0.000452"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:43.210322" elapsed="0.001039"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:43.210277" elapsed="0.001137"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:43.234030" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:43.234397" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:43.234594" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:43.225525" elapsed="0.009122"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:43.235438" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:43.234801" elapsed="0.000748"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:43.240333" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:43.235847" elapsed="0.004589"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:43.235599" elapsed="0.004903"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:43.234763" elapsed="0.005785"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:43.240800" elapsed="0.000330"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:43.246357" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:43.241790" elapsed="0.004720">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:43.241547" elapsed="0.005109">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:43.241287" elapsed="0.005492">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:43.224670" elapsed="0.022311">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:43.208367" elapsed="0.038801">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:45.249862" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:45.249008" elapsed="0.000918"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:55:45.250657" elapsed="0.000411"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:45.250093" elapsed="0.001051"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:45.250049" elapsed="0.001198"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:45.275960" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:45.276332" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:45.276552" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:45.265661" elapsed="0.010943"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:45.277395" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:45.276758" elapsed="0.000751"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:45.282105" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:45.277830" elapsed="0.004426"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:45.277559" elapsed="0.004766"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:45.276719" elapsed="0.005651"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:45.282619" elapsed="0.000334"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:45.288088" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:45.283614" elapsed="0.004679">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:55:45.283370" elapsed="0.005072">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:45.283060" elapsed="0.005506">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:45.264791" elapsed="0.023977">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:45.248104" elapsed="0.040948">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<msg time="2026-09-05T23:55:45.289294" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-09-05T23:54:13.326365" elapsed="91.963167">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-05T23:55:45.289888" elapsed="0.000041"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:55:45.291656" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-05T23:55:45.589999" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:55:45.590321" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:55:45.590415" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:55:45.590500" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:55:45.291308" elapsed="0.299239"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:45.591478" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:45.590891" elapsed="0.000672"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:55:45.592169" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-05T23:55:45.927590" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:55:45.927796" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:55:45.927838" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:55:45.927875" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:55:45.591840" elapsed="0.336057"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:55:45.928286" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-05T23:55:45.994231" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-05T23:55:45.994362" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-05T23:55:45.994405" level="INFO">${stderr} = </msg>
<msg time="2026-09-05T23:55:45.994441" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:55:45.928082" elapsed="0.066380"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:55:45.994721" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-05T23:55:46.054139" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:55:45.994621" elapsed="0.059685"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:46.068106" level="INFO">DELETE Request : url=http://10.30.171.119: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=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:46.068149" level="INFO">DELETE Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:46.068263" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:46.054559" elapsed="0.013727"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:46.074758" level="INFO">DELETE Request : url=http://10.30.171.119: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=node01w72ouyu8o3372d7zx1cqn5br1.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:46.074956" level="INFO">DELETE Response : url=http://10.30.171.119:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-05T23:55:46.075049" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:46.068423" elapsed="0.006649"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-05T23:55:45.290595" elapsed="0.784542"/>
</kw>
<doc>Correct credentials should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-09-05T23:54:12.315766" elapsed="93.759452">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPNWC3HQCXwYM6+XpY6zGdint7A17KML+N7I9Mrr9715a6i/fNOIMBjs6CMRpS/p/Fpz8noPQGb9/ztkks7ORNBoDtfWfX8pCKY1ZPGI5jV62aidsdRnErtoRtNIx1dhWVD1gQLObQ5/3SPRRqD4m7Z+e1mZdG0ydeMVQ9cS3EBILHfMBl4VwPYAu7gGYUODUCyKPLjKvOQlr+6kKBzKrGCJtEWzGAOjujWxAazXHfzp6uHpNXubzHG2Rc4eGpZd2+ZbbTpgdc5e1PLCvS+xCdNbx1qQwv1yQq3np0v41DfOubVsSV8xwiNlRkWxjhCEFapj9flCiTAFITqruWCYN","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</test>
<test id="s1-s1-t3" name="CallHome over SSH with correct global credentials" line="53">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:46.076543" level="INFO">Creating Session using : alias=session, url=http://10.30.171.119:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7526caf97110&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-05T23:55:46.076305" elapsed="0.000388"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:55:46.076919" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-05T23:55:46.105550" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:55:46.076830" elapsed="0.028847"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:55:46.106255" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-05T23:55:46.309800" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:55:46.105996" elapsed="0.203938"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:55:46.310513" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-05T23:55:46.357869" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-05T23:55:46.357968" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6i...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:55:46.310299" elapsed="0.047694"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-05T23:55:46.361932" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6i...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-05T23:55:46.358155" elapsed="0.003821"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-05T23:55:46.076036" elapsed="0.285997"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-05T23:55:46.405760" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-05T23:55:46.362464" elapsed="0.043354"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-05T23:55:46.414485" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-05T23:55:46.405955" elapsed="0.008585"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-05T23:55:46.362216" elapsed="0.052381"/>
</kw>
<kw name="Register global credentials for SSH call-home devices" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-05T23:55:46.415210" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_global_credentials.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_global_credentials.json&lt;/a&gt;'.</msg>
<msg time="2026-09-05T23:55:46.415357" level="INFO">${template} = {
  "credentials": {
    "username": "{username}",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${template}</var>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-05T23:55:46.415042" elapsed="0.000338"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:55:46.415733" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:55:46.415515" elapsed="0.000242"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:55:46.416125" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "root" ]
  }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:55:46.415925" elapsed="0.000223"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:46.440845" level="INFO">PUT Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '79', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "credentials": {
    "username": "root",
    "passwords": [ "root" ]
  }
}
 
 </msg>
<msg time="2026-09-05T23:55:46.440892" level="INFO">PUT Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 04-Sep-2026 23:55:46 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:46.440981" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${global_config_url}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:46.416300" elapsed="0.024704"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:55:46.441146" elapsed="0.001982"/>
</kw>
<arg>root</arg>
<arg>root</arg>
<doc>Set global credentials for SSH call-home devices</doc>
<status status="PASS" start="2026-09-05T23:55:46.414765" elapsed="0.028444"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-05T23:55:46.449943" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-09-05T23:55:46.450064" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-05T23:55:46.449814" elapsed="0.000274"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-05T23:55:46.450538" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-05T23:55:46.450247" elapsed="0.000329"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:46.449580" elapsed="0.001044"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:46.446545" elapsed="0.004100"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-05T23:55:46.450805" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:46.450672" elapsed="0.000176"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:46.446520" elapsed="0.004347"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:55:46.451221" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:55:46.450985" elapsed="0.000262"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:55:46.451576" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:55:46.451376" elapsed="0.000223"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:55:46.451921" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:55:46.451726" elapsed="0.000218"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:55:46.452294" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aY...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:55:46.452070" elapsed="0.000249"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:46.467058" level="INFO">POST Request : url=http://10.30.171.119: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=node09fn1b0g4i0hto298dce3o7f72.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"
        }
    }
}
 
 </msg>
<msg time="2026-09-05T23:55:46.467104" level="INFO">POST Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:46.467248" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:46.452447" elapsed="0.014826"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:55:46.467412" elapsed="0.001928"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-05T23:55:46.443446" elapsed="0.025950"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:55:46.469679" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-05T23:55:46.797025" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:55:46.797281" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:55:46.797341" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:55:46.797379" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:55:46.469524" elapsed="0.327876"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:46.798769" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:46.798443" elapsed="0.000351"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:55:46.799093" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:46.798861" elapsed="0.000282"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:46.798843" elapsed="0.000352"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:46.813259" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:46.813422" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:46.813519" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:46.805557" elapsed="0.007985"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:46.813879" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:46.813612" elapsed="0.000316"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:46.815991" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:46.814062" elapsed="0.001975"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:46.813949" elapsed="0.002118"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:46.813595" elapsed="0.002492"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:46.816227" elapsed="0.000158"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:55:46.816674" elapsed="0.001970"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:55:46.816565" elapsed="0.002114"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:46.820872" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:46.818861" elapsed="0.002087">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:55:46.818753" elapsed="0.002302">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:46.816440" elapsed="0.004672">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:46.805162" elapsed="0.016073">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:46.798104" elapsed="0.023219">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:48.823004" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:48.822610" elapsed="0.000425"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:55:48.823395" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:48.823118" elapsed="0.000328"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:48.823097" elapsed="0.000375"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:48.837096" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:48.837279" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:48.837373" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:48.829636" elapsed="0.007761"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:48.837734" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:48.837467" elapsed="0.000317"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:48.840025" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:48.837920" elapsed="0.002152"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:48.837805" elapsed="0.002298"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:48.837450" 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-09-05T23:55:48.840272" elapsed="0.000159"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:55:48.840716" elapsed="0.001973"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:55:48.840605" elapsed="0.002120"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:48.844905" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:48.842905" elapsed="0.002120">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:55:48.842797" elapsed="0.002299">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:48.840483" elapsed="0.004681">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:48.829270" elapsed="0.016006">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:48.822029" elapsed="0.023332">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:50.848236" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:50.847319" elapsed="0.000987"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:55:50.849000" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:50.848482" elapsed="0.000654"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:50.848436" elapsed="0.000778"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:50.872823" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:50.873138" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:50.873363" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:50.863278" elapsed="0.010137"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:50.874220" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:50.873570" elapsed="0.000766"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:50.878957" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:50.874644" elapsed="0.004415"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:50.874383" elapsed="0.004768"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:50.873532" elapsed="0.005691"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:50.879476" 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-09-05T23:55:50.880578" elapsed="0.004405"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:55:50.880336" elapsed="0.004728"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:50.890089" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:50.885521" elapsed="0.004773">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:55:50.885281" elapsed="0.005163">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:50.880019" elapsed="0.010544">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:50.862369" elapsed="0.028395">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:50.846391" elapsed="0.044557">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:52.893580" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:52.892739" elapsed="0.000906"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:55:52.894415" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:52.893814" elapsed="0.000718"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:52.893771" elapsed="0.000809"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:52.918451" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:52.918737" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:52.918951" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:52.908995" elapsed="0.010009"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:52.919885" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:52.919214" elapsed="0.000782"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:52.924621" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:52.920354" elapsed="0.004369"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:52.920046" elapsed="0.004745"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:52.919146" elapsed="0.005688"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:52.925106" 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-09-05T23:55:52.926099" elapsed="0.004638"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:55:52.925835" elapsed="0.004986"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:52.935752" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:52.931270" elapsed="0.004631">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:55:52.930981" elapsed="0.005065">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:52.925582" elapsed="0.010640">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:52.908137" elapsed="0.028291">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:52.891872" elapsed="0.044745">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:54.939343" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:54.938477" elapsed="0.000932"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:55:54.940156" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:54.939582" elapsed="0.000728"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:54.939538" elapsed="0.000822"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:54.964782" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:54.965213" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:54.965416" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:54.954400" elapsed="0.011069"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:54.966290" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:54.965629" elapsed="0.000779"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:54.971365" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:54.966708" elapsed="0.004762"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:54.966458" elapsed="0.005080"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:54.965589" elapsed="0.005994"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:54.971834" elapsed="0.000387"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:55:54.972829" elapsed="0.004496"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:55:54.972588" elapsed="0.004819"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:54.982318" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:54.977806" elapsed="0.004660">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:55:54.977567" elapsed="0.005044">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:54.972332" elapsed="0.010398">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:54.953525" elapsed="0.029402">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:54.937556" elapsed="0.045592">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:56.985849" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:56.984977" 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="NOT RUN" start="2026-09-05T23:55:56.986770" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:56.986246" elapsed="0.000640"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:56.986172" elapsed="0.000763"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:57.011148" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:57.011499" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:57.011694" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:57.000711" elapsed="0.011034"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:57.012556" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:57.011900" elapsed="0.000768"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:57.017359" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:57.012979" elapsed="0.004482"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:57.012717" elapsed="0.004812"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:57.011861" elapsed="0.005710"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:57.017821" elapsed="0.000355"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:55:57.018868" elapsed="0.004825"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:55:57.018570" elapsed="0.005206"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:57.028696" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:57.024232" elapsed="0.004612">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:55:57.023936" elapsed="0.005051">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:57.018315" elapsed="0.010819">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:56.999839" elapsed="0.029535">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:56.984078" elapsed="0.045564">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:55:59.032562" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:55:59.031672" elapsed="0.000956"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:55:59.033426" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:59.032806" elapsed="0.000737"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:59.032760" elapsed="0.000834"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:55:59.062912" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:55:59.063302" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:55:59.063531" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:55:59.050331" elapsed="0.013253"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:55:59.064401" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:55:59.063745" elapsed="0.000770"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:55:59.069121" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:55:59.064813" elapsed="0.004443"/>
</kw>
<status status="PASS" start="2026-09-05T23:55:59.064565" elapsed="0.004762"/>
</branch>
<status status="PASS" start="2026-09-05T23:55:59.063706" elapsed="0.005665"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:55:59.069622" elapsed="0.000334"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:55:59.070694" elapsed="0.004522"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:55:59.070437" elapsed="0.004866"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:55:59.080450" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:55:59.075881" elapsed="0.004717">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:55:59.075465" elapsed="0.005278">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:55:59.070098" elapsed="0.010764">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:55:59.049366" elapsed="0.031811">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:55:59.030718" elapsed="0.050686">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:01.084155" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:01.083319" elapsed="0.000929"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:01.085113" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:01.084462" elapsed="0.000830"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:01.084407" elapsed="0.000942"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:01.115828" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:01.116153" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:01.116388" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:01.103920" elapsed="0.012521"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:01.117258" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:01.116603" elapsed="0.000771"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:01.122010" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:01.117677" elapsed="0.004441"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:01.117424" elapsed="0.004792"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:01.116564" elapsed="0.005701"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:01.122521" elapsed="0.000337"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:01.123529" elapsed="0.004961"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:01.123283" elapsed="0.005290"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:01.133627" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:01.129006" elapsed="0.004790">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:01.128737" elapsed="0.005240">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:01.122990" elapsed="0.011236">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:01.102659" elapsed="0.031782">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:01.082406" elapsed="0.052224">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:03.136293" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:03.135821" elapsed="0.000507"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:03.136683" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:03.136424" elapsed="0.000313"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:03.136399" elapsed="0.000365"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:03.150635" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:03.150805" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:03.150900" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:03.143245" elapsed="0.007694"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:03.151348" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:03.151019" elapsed="0.000385"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:03.153548" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:03.151547" elapsed="0.002047"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:03.151427" elapsed="0.002198"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:03.150998" elapsed="0.002647"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:03.153760" 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-09-05T23:56:03.154263" elapsed="0.002031"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:03.154120" elapsed="0.002211"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:03.158555" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:03.156515" elapsed="0.002115">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:03.156406" elapsed="0.002358">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:03.153995" elapsed="0.004830">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:03.142809" elapsed="0.016127">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:03.135332" elapsed="0.023697">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:05.161671" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:05.160816" elapsed="0.000920"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:05.162467" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:05.161924" elapsed="0.000659"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:05.161860" elapsed="0.000772"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:05.186793" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:05.187108" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:05.187359" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:05.176985" elapsed="0.010427"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:05.188365" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:05.187569" elapsed="0.000911"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:05.193105" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:05.188783" elapsed="0.004456"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:05.188531" elapsed="0.004790"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:05.187529" elapsed="0.005856"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:05.193668" elapsed="0.000366"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:05.194684" elapsed="0.004536"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:05.194439" elapsed="0.004867"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:05.204335" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:05.199713" elapsed="0.004874">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:05.199469" elapsed="0.005269">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:05.194146" elapsed="0.010714">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:05.176112" elapsed="0.028974">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:05.159953" elapsed="0.045360">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:07.208415" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:07.207484" elapsed="0.001013"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:07.209295" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:07.208689" elapsed="0.000725"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:07.208639" elapsed="0.000825"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:07.233519" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:07.233872" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:07.234074" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:07.223889" elapsed="0.010239"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:07.234947" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:07.234322" elapsed="0.000741"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:07.239926" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:07.235406" elapsed="0.004629"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:07.235112" elapsed="0.004993"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:07.234282" elapsed="0.005868"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:07.240438" elapsed="0.000513"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:07.241619" elapsed="0.005046"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:07.241368" elapsed="0.005382"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:07.251830" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:07.247218" elapsed="0.004795">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:07.246943" elapsed="0.005223">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:07.241072" elapsed="0.011255">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:07.222977" elapsed="0.029559">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:07.206469" elapsed="0.046262">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:09.255912" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:09.254967" elapsed="0.001020"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:09.256769" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:09.256206" elapsed="0.000704"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:09.256130" elapsed="0.000832"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:09.283562" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:09.283913" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:09.284112" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:09.271274" elapsed="0.012892"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:09.285105" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:09.284359" elapsed="0.000895"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:09.289959" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:09.285570" elapsed="0.004493"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:09.285308" elapsed="0.004824"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:09.284319" elapsed="0.005857"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:09.290467" 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-09-05T23:56:09.291519" elapsed="0.004590"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:09.291264" elapsed="0.004981"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:09.301270" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:09.296664" elapsed="0.004775">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:09.296414" elapsed="0.005181">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:09.290962" elapsed="0.010757">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:09.270397" elapsed="0.031560">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:09.253907" elapsed="0.048246">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:11.305457" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:11.304434" elapsed="0.001095"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:11.306367" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:11.305719" elapsed="0.000765"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:11.305670" elapsed="0.000868"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:11.331251" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:11.331682" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:11.331929" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:11.321333" elapsed="0.010651"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:11.332807" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:11.332147" elapsed="0.000777"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:11.337655" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:11.333261" elapsed="0.004498"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:11.332977" elapsed="0.004874"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:11.332106" elapsed="0.005791"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:11.338153" 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-09-05T23:56:11.339206" elapsed="0.004457"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:11.338930" elapsed="0.004816"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:11.348881" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:11.344211" elapsed="0.004838">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:11.343932" elapsed="0.005299">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:11.338641" elapsed="0.010715">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:11.320435" elapsed="0.029127">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:11.303399" elapsed="0.046352">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:13.352879" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:13.351952" 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-09-05T23:56:13.353888" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:13.353310" elapsed="0.000697"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:13.353259" elapsed="0.000800"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:13.380150" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:13.380586" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:13.380829" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:13.368146" elapsed="0.012739"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:13.381695" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:13.381050" elapsed="0.000792"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:13.386530" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:13.382168" elapsed="0.004473"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:13.381894" elapsed="0.004816"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:13.381008" elapsed="0.005768"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:13.387042" 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-09-05T23:56:13.388219" elapsed="0.005216"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:13.387846" elapsed="0.005673"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:13.398656" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:13.393983" elapsed="0.004862">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:13.393687" elapsed="0.005312">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:13.387531" elapsed="0.011589">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:13.367279" elapsed="0.032083">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:13.350935" elapsed="0.048717">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:15.402970" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:15.402009" elapsed="0.001036"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:15.403850" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:15.403271" elapsed="0.000698"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:15.403217" elapsed="0.000816"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:15.429358" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:15.429709" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:15.429943" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:15.418268" elapsed="0.011726"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:15.430828" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:15.430154" elapsed="0.000791"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:15.435637" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:15.431311" elapsed="0.004457"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:15.430994" elapsed="0.004843"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:15.430115" elapsed="0.005765"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:15.436134" elapsed="0.000384"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:15.437216" elapsed="0.004603"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:15.436937" elapsed="0.004963"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:15.447043" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:15.442346" elapsed="0.004896">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:15.442063" elapsed="0.005335">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:15.436639" elapsed="0.010880">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:15.417357" elapsed="0.030561">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:15.400921" elapsed="0.047216">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:17.451683" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:17.450660" elapsed="0.001123"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:17.452651" elapsed="0.000102"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:17.451997" elapsed="0.000847"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:17.451940" elapsed="0.000965"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:17.481964" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:17.482396" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:17.482659" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:17.469677" elapsed="0.013079"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:17.483791" elapsed="0.000069"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:17.482955" elapsed="0.000989"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:17.489337" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:17.484385" elapsed="0.005085"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:17.484012" elapsed="0.005543"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:17.482902" elapsed="0.006710"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:17.489977" elapsed="0.000475"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:17.491292" elapsed="0.005462"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:17.490966" elapsed="0.005888"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:17.503122" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:17.497392" elapsed="0.005977">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:17.497035" elapsed="0.006542">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:17.490605" elapsed="0.013315">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:17.468709" elapsed="0.035532">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:17.449492" elapsed="0.054998">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:19.507878" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:19.506888" elapsed="0.001067"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:19.508787" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:19.508175" elapsed="0.000730"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:19.508119" elapsed="0.000845"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:19.533316" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:19.533702" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:19.533900" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:19.523121" elapsed="0.010830"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:19.534769" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:19.534108" elapsed="0.000776"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:19.540002" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:19.535226" elapsed="0.004881"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:19.534933" elapsed="0.005242"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:19.534069" elapsed="0.006185"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:19.540509" elapsed="0.000375"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:19.541565" elapsed="0.004502"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:19.541313" elapsed="0.004833"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:19.551158" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:19.546588" elapsed="0.004779">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:19.546344" elapsed="0.005297">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:19.541004" elapsed="0.010798">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:19.522271" elapsed="0.029750">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:19.505793" elapsed="0.046448">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:21.555793" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:21.554497" elapsed="0.001376"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:21.556688" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:21.556072" elapsed="0.000732"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:21.556020" elapsed="0.000842"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:21.582940" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:21.583350" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:21.583573" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:21.571217" elapsed="0.012446"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:21.584489" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:21.583833" elapsed="0.000820"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:21.589541" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:21.585006" elapsed="0.004670"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:21.584717" elapsed="0.005033"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:21.583790" elapsed="0.006022"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:21.590089" elapsed="0.000396"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:21.591345" elapsed="0.004726"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:21.591053" elapsed="0.005103"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:21.601279" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:21.596609" elapsed="0.004971">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:21.596360" elapsed="0.005413">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:21.590608" elapsed="0.011292">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:21.570292" elapsed="0.031825">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:21.553461" elapsed="0.048917">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:23.605481" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:23.604566" elapsed="0.000987"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:23.606338" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:23.605767" elapsed="0.000689"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:23.605719" elapsed="0.000788"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:23.630868" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:23.631215" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:23.631435" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:23.621023" elapsed="0.010466"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:23.632289" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:23.631672" elapsed="0.000732"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:23.637124" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:23.632726" elapsed="0.004551"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:23.632453" elapsed="0.004900"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:23.631631" elapsed="0.005768"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:23.637683" elapsed="0.000475"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:23.638866" elapsed="0.004543"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:23.638583" elapsed="0.004909"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:23.648467" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:23.643918" elapsed="0.004749">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:23.643672" elapsed="0.005151">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:23.638311" elapsed="0.010632">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:23.620144" elapsed="0.029003">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:23.603548" elapsed="0.045821">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:25.652542" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:25.651530" elapsed="0.001104"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:25.653621" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:25.652825" elapsed="0.000915"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:25.652779" elapsed="0.001012"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:25.677854" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:25.678174" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:25.678402" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:25.667880" elapsed="0.010576"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:25.679411" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:25.678643" elapsed="0.000885"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:25.684550" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:25.679876" elapsed="0.004802"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:25.679606" elapsed="0.005143"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:25.678602" elapsed="0.006191"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:25.685046" 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-09-05T23:56:25.686068" elapsed="0.004538"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:25.685823" elapsed="0.004865"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:25.695710" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:25.691091" elapsed="0.004778">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:25.690848" elapsed="0.005171">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:25.685531" elapsed="0.010610">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:25.666995" elapsed="0.029384">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:25.650471" elapsed="0.046115">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:27.699810" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:27.698866" elapsed="0.001017"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:27.700676" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:27.700072" elapsed="0.000717"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:27.700024" elapsed="0.000817"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:27.725128" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:27.725646" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:27.725850" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:27.715245" elapsed="0.010657"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:27.726726" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:27.726062" elapsed="0.000775"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:27.731683" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:27.727161" elapsed="0.004626"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:27.726887" elapsed="0.004967"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:27.726023" elapsed="0.005875"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:27.732150" elapsed="0.000399"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:27.733209" elapsed="0.004490"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:27.732936" elapsed="0.004843"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:27.742746" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:27.738235" elapsed="0.004669">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:27.737954" elapsed="0.005101">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:27.732669" elapsed="0.010505">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:27.714361" elapsed="0.029064">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:27.697814" elapsed="0.045827">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:29.746760" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:29.745845" 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-09-05T23:56:29.747853" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:29.747235" elapsed="0.000738"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:29.747152" elapsed="0.000872"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:29.773472" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:29.773839" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:29.774059" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:29.762437" elapsed="0.011675"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:29.774927" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:29.774312" elapsed="0.000728"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:29.779669" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:29.775379" elapsed="0.004394"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:29.775090" elapsed="0.004754"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:29.774272" elapsed="0.005616"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:29.780137" elapsed="0.000402"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:29.781162" elapsed="0.004532"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:29.780918" elapsed="0.004858"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:29.790762" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:29.786210" elapsed="0.004710">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:29.785940" elapsed="0.005130">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:29.780654" elapsed="0.010570">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:29.761577" elapsed="0.029856">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:29.744807" elapsed="0.046912">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:31.794866" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:31.793945" 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-09-05T23:56:31.795732" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:31.795124" elapsed="0.000723"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:31.795076" elapsed="0.000822"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:31.821558" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:31.821887" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:31.822084" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:31.809927" elapsed="0.012209"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:31.822949" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:31.822328" elapsed="0.000737"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:31.828156" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:31.823396" elapsed="0.004909"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:31.823114" elapsed="0.005263"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:31.822289" elapsed="0.006133"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:31.828695" elapsed="0.000346"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:31.829719" elapsed="0.004515"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:31.829452" elapsed="0.004864"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:31.839267" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:31.834743" elapsed="0.004685">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:31.834501" elapsed="0.005103">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:31.829154" elapsed="0.010576">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:31.808941" elapsed="0.031114">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:31.792922" elapsed="0.047356">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:33.843475" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:33.842532" elapsed="0.001017"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:33.844325" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:33.843746" elapsed="0.000717"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:33.843695" elapsed="0.000825"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:33.868042" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:33.868464" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:33.868693" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:33.858877" elapsed="0.009869"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:33.869628" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:33.868920" elapsed="0.000824"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:33.874526" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:33.870056" elapsed="0.004574"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:33.869794" elapsed="0.004904"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:33.868879" elapsed="0.005864"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:33.874997" elapsed="0.000392"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:33.876055" elapsed="0.004503"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:33.875808" elapsed="0.004830"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:33.885655" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:33.881055" elapsed="0.004803">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:33.880802" elapsed="0.005236">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:33.875531" elapsed="0.010820">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:33.858005" elapsed="0.028616">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:33.841465" elapsed="0.045364">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:35.890216" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:35.889083" elapsed="0.001207"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:35.891116" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:35.890507" elapsed="0.000756"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:35.890433" elapsed="0.000883"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:35.918412" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:35.918759" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:35.918976" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:35.908590" elapsed="0.010439"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:35.919872" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:35.919224" elapsed="0.000794"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:35.924943" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:35.920489" elapsed="0.004557"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:35.920088" elapsed="0.005026"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:35.919151" elapsed="0.006007"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:35.925473" elapsed="0.000382"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:35.926605" elapsed="0.004751"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:35.926304" elapsed="0.005156"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:35.936620" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:35.931869" elapsed="0.004922">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:35.931629" elapsed="0.005434">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:35.925969" elapsed="0.011254">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:35.907697" elapsed="0.029800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:35.888043" elapsed="0.049759">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:37.941046" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:37.940120" 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-09-05T23:56:37.941917" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:37.941340" elapsed="0.000693"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:37.941292" elapsed="0.000791"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:37.966928" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:37.967295" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:37.967523" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:37.956054" elapsed="0.011524"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:37.968374" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:37.967738" elapsed="0.000751"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:37.973176" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:37.968831" elapsed="0.004485"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:37.968573" elapsed="0.004813"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:37.967699" elapsed="0.005731"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:37.973712" elapsed="0.000345"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:37.974740" elapsed="0.046651"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:37.974471" elapsed="0.047012"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:38.024085" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:38.021863" elapsed="0.002422">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:38.021646" elapsed="0.002719">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:37.974173" elapsed="0.050251">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:37.955211" elapsed="0.069361">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:37.939080" elapsed="0.085586">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:40.027452" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:40.026591" elapsed="0.000928"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:40.028265" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:40.027719" elapsed="0.000662"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:40.027674" elapsed="0.000757"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:40.052519" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:40.052828" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:40.053023" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:40.042395" elapsed="0.010681"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:40.053874" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:40.053265" elapsed="0.000724"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:40.058698" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:40.054318" elapsed="0.004489"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:40.054038" elapsed="0.004842"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:40.053225" elapsed="0.005701"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:40.059214" elapsed="0.000468"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:40.060337" elapsed="0.004480"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:40.060058" elapsed="0.004840"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:40.070123" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:40.065336" elapsed="0.004983">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:40.065061" elapsed="0.005408">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:40.059797" elapsed="0.010816">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:40.041516" elapsed="0.029300">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:40.025650" elapsed="0.045353">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:42.074276" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:42.073131" elapsed="0.001218"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:42.075270" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:42.074547" elapsed="0.000856"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:42.074496" elapsed="0.000965"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:42.103858" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:42.104256" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:42.104474" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:42.092791" elapsed="0.011738"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:42.105645" elapsed="0.000073"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:42.104755" elapsed="0.001051"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:42.111942" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:42.106205" elapsed="0.005902"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:42.105874" elapsed="0.006382"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:42.104701" elapsed="0.007628"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:42.112736" elapsed="0.000580"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:42.114124" elapsed="0.005267"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:42.113789" elapsed="0.005692"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:42.125387" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:42.120032" elapsed="0.005517">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:42.119701" elapsed="0.006061">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:42.113441" elapsed="0.012484">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:42.091722" elapsed="0.034450">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:42.072011" elapsed="0.054437">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:44.129249" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:44.128362" elapsed="0.000954"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:44.130037" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:44.129489" elapsed="0.000661"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:44.129444" elapsed="0.000790"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:44.156464" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:44.156876" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:44.157098" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:44.144562" elapsed="0.012590"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:44.157967" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:44.157345" elapsed="0.000736"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:44.162730" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:44.158420" elapsed="0.004416"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:44.158131" elapsed="0.004772"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:44.157305" elapsed="0.005643"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:44.163232" elapsed="0.000342"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:44.164239" elapsed="0.004448"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:44.163969" elapsed="0.004801"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:44.173686" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:44.169174" elapsed="0.004661">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:44.168934" elapsed="0.005045">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:44.163706" elapsed="0.010392">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:44.143702" elapsed="0.030639">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:44.127421" elapsed="0.047110">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:46.177266" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:46.176400" elapsed="0.000930"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:46.178249" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:46.177601" elapsed="0.000766"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:46.177555" elapsed="0.000865"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:46.202650" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:46.202958" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:46.203155" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:46.192369" elapsed="0.010878"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:46.204032" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:46.203407" elapsed="0.000740"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:46.209271" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:46.204493" elapsed="0.004886"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:46.204238" elapsed="0.005211"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:46.203368" elapsed="0.006125"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:46.209768" elapsed="0.000352"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:46.210942" elapsed="0.004634"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:46.210608" elapsed="0.005050"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:46.220684" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:46.216092" elapsed="0.004764">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:46.215848" elapsed="0.005155">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:46.210300" elapsed="0.010825">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:46.191486" elapsed="0.029878">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:46.175500" elapsed="0.046130">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:48.224462" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:48.223585" elapsed="0.000941"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:48.225272" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:48.224697" elapsed="0.000691"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:48.224652" elapsed="0.000787"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:48.249443" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:48.249731" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:48.249952" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:48.239288" elapsed="0.010716"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:48.250802" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:48.250160" elapsed="0.000759"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:48.255513" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:48.251244" elapsed="0.004371"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:48.250969" elapsed="0.004714"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:48.250121" elapsed="0.005606"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:48.256001" elapsed="0.000366"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:48.257002" elapsed="0.004451"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:48.256733" elapsed="0.004801"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:48.266528" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:48.261960" elapsed="0.004713">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:48.261696" elapsed="0.005149">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:48.256479" elapsed="0.010491">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:48.238416" elapsed="0.028903">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:48.222668" elapsed="0.044849">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:50.270127" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:50.269314" elapsed="0.000907"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:50.270925" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:50.270389" elapsed="0.000650"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:50.270345" elapsed="0.000744"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:50.294792" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:50.295098" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:50.295356" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:50.285561" elapsed="0.009850"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:50.296212" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:50.295571" elapsed="0.000757"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:50.300947" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:50.296628" elapsed="0.004423"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:50.296379" elapsed="0.004739"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:50.295533" elapsed="0.005632"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:50.301449" elapsed="0.000331"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:50.302441" elapsed="0.004448"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:50.302167" elapsed="0.004803"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:50.311887" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:50.307397" elapsed="0.004641">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:50.307129" elapsed="0.005082">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:50.301911" elapsed="0.010517">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:50.284679" elapsed="0.027956">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:50.268456" elapsed="0.044395">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:52.315564" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:52.314705" elapsed="0.000923"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:52.316362" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:52.315793" elapsed="0.000685"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:52.315749" elapsed="0.000778"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:52.341594" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:52.341917" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:52.342119" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:52.330402" elapsed="0.011768"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:52.343000" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:52.342368" elapsed="0.000746"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:52.348120" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:52.343449" elapsed="0.004809"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:52.343164" elapsed="0.005163"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:52.342325" elapsed="0.006047"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:52.348626" elapsed="0.000358"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:52.349626" elapsed="0.004460"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:52.349381" elapsed="0.004787"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:52.359108" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:52.354601" elapsed="0.004689">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:52.354361" elapsed="0.005164">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:52.349094" elapsed="0.010558">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:52.329523" elapsed="0.030348">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:52.313749" elapsed="0.046312">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:54.362756" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:54.361928" elapsed="0.000893"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:54.363562" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:54.363011" elapsed="0.000667"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:54.362967" elapsed="0.000760"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:54.387240" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:54.387532" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:54.387725" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:54.377559" elapsed="0.010217"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:54.388576" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:54.387957" elapsed="0.000731"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:54.393331" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:54.389013" elapsed="0.004423"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:54.388740" elapsed="0.004763"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:54.387892" elapsed="0.005656"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:54.393802" elapsed="0.000364"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:54.394808" elapsed="0.004528"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:54.394563" elapsed="0.004857"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:54.404394" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:54.399830" elapsed="0.004803">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:54.399583" elapsed="0.005202">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:54.394308" elapsed="0.010622">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:54.376684" elapsed="0.028451">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:54.361026" elapsed="0.044333">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:56.407037" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:56.406577" elapsed="0.000501"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:56.407477" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:56.407211" elapsed="0.000320"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:56.407161" elapsed="0.000396"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:56.422159" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:56.422448" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:56.422589" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:56.414520" elapsed="0.008102"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:56.423167" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:56.422722" elapsed="0.000561"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:56.426477" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:56.423483" elapsed="0.003075"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:56.423319" elapsed="0.003285"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:56.422697" elapsed="0.003935"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:56.426795" elapsed="0.000349"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:56.427608" elapsed="0.003144"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:56.427449" elapsed="0.003358"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:56.435900" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:56.431147" elapsed="0.004938">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:56.430917" elapsed="0.005349">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:56.427263" elapsed="0.009128">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:56.414068" elapsed="0.022527">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:56.406010" elapsed="0.030774">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:56:58.438665" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:56:58.438120" elapsed="0.000587"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:56:58.439169" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:58.438820" elapsed="0.000442"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:58.438791" elapsed="0.000502"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:56:58.456418" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:56:58.456617" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:56:58.456738" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:56:58.447821" elapsed="0.008949"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:56:58.457626" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:56:58.456867" elapsed="0.000882"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:56:58.463168" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:56:58.458094" elapsed="0.005227"/>
</kw>
<status status="PASS" start="2026-09-05T23:56:58.457801" elapsed="0.005597"/>
</branch>
<status status="PASS" start="2026-09-05T23:56:58.456843" elapsed="0.006603"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:56:58.463716" elapsed="0.000383"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:56:58.464781" elapsed="0.004860"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:56:58.464522" elapsed="0.005207"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:56:58.474901" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:56:58.470210" elapsed="0.004864">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:56:58.469899" elapsed="0.005349">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:56:58.464248" elapsed="0.011124">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:56:58.447310" elapsed="0.028261">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:56:58.437521" elapsed="0.038238">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:00.478578" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:00.477713" elapsed="0.000929"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:57:00.479385" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:00.478811" elapsed="0.000690"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:00.478769" elapsed="0.000781"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:00.504977" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:00.505454" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:00.505652" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:00.493765" elapsed="0.011940"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:00.506513" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:00.505863" elapsed="0.000767"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:00.511455" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:00.507000" elapsed="0.004559"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:00.506692" elapsed="0.004936"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:00.505825" elapsed="0.005848"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:00.511925" elapsed="0.000393"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:57:00.512934" elapsed="0.004481"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:57:00.512691" elapsed="0.004807"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:00.522439" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:00.517904" elapsed="0.004681">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:57:00.517663" elapsed="0.005067">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:00.512432" elapsed="0.010420">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:00.492850" elapsed="0.030233">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:00.476792" elapsed="0.046515">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:02.525939" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:02.525117" elapsed="0.000889"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:57:02.526860" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:02.526337" elapsed="0.000637"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:02.526292" elapsed="0.000732"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:02.550419" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:02.550699" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:02.550914" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:02.541404" elapsed="0.009563"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:02.551770" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:02.551149" elapsed="0.000735"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:02.556553" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:02.552236" elapsed="0.004420"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:02.551934" elapsed="0.004791"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:02.551109" elapsed="0.005661"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:02.557021" elapsed="0.000390"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:57:02.558022" elapsed="0.004499"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:57:02.557776" elapsed="0.004828"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:02.567587" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:02.563004" elapsed="0.004728">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:57:02.562763" elapsed="0.005110">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:02.557521" elapsed="0.010474">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:02.540525" elapsed="0.027727">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:02.524274" elapsed="0.044242">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:04.571161" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:04.570347" elapsed="0.000903"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:57:04.571920" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:04.571414" elapsed="0.000618"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:04.571371" elapsed="0.000711"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:04.595338" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:04.595647" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:04.595866" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:04.586271" elapsed="0.009647"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:04.596800" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:04.596099" elapsed="0.000814"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:04.602060" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:04.597270" elapsed="0.004952"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:04.596963" elapsed="0.005333"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:04.596054" elapsed="0.006286"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:04.602598" elapsed="0.000335"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:57:04.603613" elapsed="0.004536"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:57:04.603354" elapsed="0.004902"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:04.613382" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:04.608663" elapsed="0.004866">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:57:04.608420" elapsed="0.005253">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:04.603044" elapsed="0.010750">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:04.585251" elapsed="0.028840">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:04.569474" elapsed="0.044862">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:06.617128" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:06.616269" elapsed="0.000983"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:57:06.617993" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:06.617436" elapsed="0.000682"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:06.617389" elapsed="0.000844"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:06.642773" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:06.643055" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:06.643303" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:06.632623" elapsed="0.010736"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:06.644113" elapsed="0.000107"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:06.643518" elapsed="0.000768"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:06.648893" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:06.644591" elapsed="0.004405"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:06.644337" elapsed="0.004727"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:06.643479" elapsed="0.005631"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:06.649433" elapsed="0.000338"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:57:06.650513" elapsed="0.004487"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:57:06.650248" elapsed="0.004832"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:06.660042" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:06.655542" elapsed="0.004702">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:57:06.655296" elapsed="0.005094">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:06.649882" elapsed="0.010724">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:06.631706" elapsed="0.029106">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:06.615314" elapsed="0.045686">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:08.663673" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:08.662824" elapsed="0.000913"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:57:08.664477" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:08.663906" elapsed="0.000686"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:08.663863" elapsed="0.000778"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:08.688814" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:08.689124" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:08.689427" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:08.678994" elapsed="0.010490"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:08.690385" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:08.689672" elapsed="0.000831"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:08.695364" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:08.690818" elapsed="0.004652"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:08.690555" elapsed="0.004983"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:08.689624" elapsed="0.005958"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:08.695837" elapsed="0.000333"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:57:08.696927" elapsed="0.004537"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:57:08.696661" elapsed="0.004892"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:08.706649" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:08.701999" elapsed="0.004797">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:57:08.701742" elapsed="0.005295">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:08.696336" elapsed="0.010828">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:08.677941" elapsed="0.029483">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:08.661912" elapsed="0.045705">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:10.710713" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:10.709814" elapsed="0.000968"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:57:10.711584" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:10.710954" elapsed="0.000751"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:10.710911" elapsed="0.000865"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:10.736868" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:10.737162" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:10.737433" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:10.726733" elapsed="0.010753"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:10.738424" elapsed="0.000068"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:10.737646" elapsed="0.000929"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:10.743722" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:10.738971" elapsed="0.004856"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:10.738643" elapsed="0.005254"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:10.737606" elapsed="0.006336"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:10.744249" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:57:10.745396" elapsed="0.004603"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:57:10.745017" elapsed="0.005062"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:10.755845" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:10.750545" elapsed="0.005552">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:57:10.750300" elapsed="0.006001">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:10.744705" elapsed="0.011722">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:10.725761" elapsed="0.030869">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:10.708852" elapsed="0.047968">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:12.759673" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:12.758816" elapsed="0.000923"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:57:12.760583" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:12.759911" elapsed="0.000804"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:12.759867" elapsed="0.000922"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:12.784745" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:12.785032" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:12.785282" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:12.775023" elapsed="0.010316"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:12.786101" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:12.785502" elapsed="0.000743"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:12.790873" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:12.786573" elapsed="0.004404"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:12.786316" elapsed="0.004731"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:12.785463" elapsed="0.005629"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:12.791399" elapsed="0.000449"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:57:12.792523" elapsed="0.004423"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:57:12.792253" elapsed="0.004774"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:12.802069" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:12.797486" elapsed="0.004833">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:57:12.797221" elapsed="0.005264">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:12.791962" elapsed="0.010651">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:12.774141" elapsed="0.028684">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:12.757814" elapsed="0.045203">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:14.805720" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:14.804861" elapsed="0.000925"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:57:14.806522" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:14.805955" elapsed="0.000684"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:14.805914" elapsed="0.000774"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:14.834691" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:14.834999" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:14.835263" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:14.823530" elapsed="0.011816"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:14.836292" elapsed="0.000073"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:14.835524" elapsed="0.000908"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:14.841264" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:14.836742" elapsed="0.004659"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:14.836484" elapsed="0.004990"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:14.835481" elapsed="0.006041"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:14.841783" elapsed="0.000348"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:57:14.842956" elapsed="0.004675"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:57:14.842624" elapsed="0.005091"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:14.852882" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:14.848121" elapsed="0.004913">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:57:14.847876" elapsed="0.005340">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:14.842324" elapsed="0.011049">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:14.822619" elapsed="0.030972">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:14.803982" elapsed="0.049808">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:16.856658" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:16.855749" 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-09-05T23:57:16.857500" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:16.856904" elapsed="0.000717"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:16.856858" elapsed="0.000814"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:16.883053" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node09fn1b0g4i0hto298dce3o7f72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:16.883503" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:16.883710" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:16.871769" elapsed="0.011994"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:16.884774" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:16.883925" elapsed="0.000965"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:16.889588" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:16.885228" elapsed="0.004465"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:16.884940" elapsed="0.004824"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:16.883885" elapsed="0.005925"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:16.890087" elapsed="0.000535"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:57:16.891495" elapsed="0.005507"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:57:16.891088" elapsed="0.006006"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:16.902755" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:16.897613" elapsed="0.005305">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-05T23:57:16.897312" elapsed="0.005768">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:16.890753" elapsed="0.012562">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:16.870819" elapsed="0.032832">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:16.854824" elapsed="0.049039">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<msg time="2026-09-05T23:57:16.904061" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>CONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-09-05T23:55:46.797570" elapsed="90.106841">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-05T23:57:16.904778" elapsed="0.000044"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:57:16.906674" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-05T23:57:17.236487" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:57:17.236886" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:57:17.236974" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:57:17.237058" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:57:16.906274" elapsed="0.330831"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:17.238389" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:17.237657" elapsed="0.000826"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:57:17.239219" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-05T23:57:17.605296" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:57:17.605713" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:57:17.605803" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:57:17.605903" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:57:17.238789" elapsed="0.367162"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:57:17.606904" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-05T23:57:17.670826" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-05T23:57:17.671231" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-05T23:57:17.671325" level="INFO">${stderr} = </msg>
<msg time="2026-09-05T23:57:17.671432" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:57:17.606462" elapsed="0.065018"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:57:17.672165" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-05T23:57:17.722817" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:57:17.671903" elapsed="0.051089"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:17.755704" level="INFO">DELETE Request : url=http://10.30.171.119: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=node09fn1b0g4i0hto298dce3o7f72.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:17.755798" level="INFO">DELETE Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:17.755984" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:17.723452" elapsed="0.032582"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:17.771387" level="INFO">DELETE Request : url=http://10.30.171.119: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=node09fn1b0g4i0hto298dce3o7f72.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:17.771667" level="INFO">DELETE Response : url=http://10.30.171.119:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-05T23:57:17.771869" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:17.756399" elapsed="0.015522"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-05T23:57:16.905528" elapsed="0.866532"/>
</kw>
<doc>CallHome SSH device registered with global credentials should result to successful mount.</doc>
<status status="FAIL" start="2026-09-05T23:55:46.075484" elapsed="91.696679">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCZYPB8FQJvcz4jtShNsh/KM3ZUbaYWtp0sT+ZkEl0ha5XzEjrRes+ZjjvYY5aYrnGaucVXLiTUSCn4vO7IHuuq5INopbCPnnsEOlDv79zT/2UnnLOyduQzBUj2e4m2wiRjBN3WqNmDlbP50OgJbKeC+klc3LDN84Mp2T5baw6iksRuEesyfML3m/gKoWxWe/6ew5/2a1dQVXDsZJuURInKwU4pQmXZ4EEmh1bSdlu21dptv+qF0IE7B2r26wKj4qzrYL7awBK5cTBZkHsL0gJbvncxzzh91EhtXSwMERFpeIA7nlsh9BKNetq7W/baAtPXkWbX5YMEZa+DYvTQvonf"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</test>
<test id="s1-s1-t4" name="CallHome over SSH with incorrect global credentials" line="71">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:17.775302" level="INFO">Creating Session using : alias=session, url=http://10.30.171.119:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7526cc091090&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-05T23:57:17.774753" elapsed="0.000874"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:57:17.776115" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-05T23:57:17.789642" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:57:17.775918" elapsed="0.013852"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:57:17.790316" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-05T23:57:18.049317" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:57:17.790065" elapsed="0.259520"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:57:18.050377" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-05T23:57:18.103332" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-05T23:57:18.103603" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvw...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:57:18.050020" elapsed="0.053636"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-05T23:57:18.111973" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvw...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-05T23:57:18.104036" elapsed="0.008033"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-05T23:57:17.773998" elapsed="0.338227"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-05T23:57:18.154727" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-05T23:57:18.113171" elapsed="0.041718"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-05T23:57:18.166949" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-05T23:57:18.155265" elapsed="0.011828"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-05T23:57:18.112630" elapsed="0.054647"/>
</kw>
<kw name="Register global credentials for SSH call-home devices" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-05T23:57:18.168809" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_global_credentials.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_global_credentials.json&lt;/a&gt;'.</msg>
<msg time="2026-09-05T23:57:18.169089" level="INFO">${template} = {
  "credentials": {
    "username": "{username}",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${template}</var>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-05T23:57:18.168487" elapsed="0.000655"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:57:18.169984" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:57:18.169506" elapsed="0.000531"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:57:18.170834" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "incorrect" ]
  }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:57:18.170384" elapsed="0.000501"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:18.190773" level="INFO">PUT Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '84', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "credentials": {
    "username": "root",
    "passwords": [ "incorrect" ]
  }
}
 
 </msg>
<msg time="2026-09-05T23:57:18.190906" level="INFO">PUT Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 status=204, reason=No Content 
 headers={'Set-Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 04-Sep-2026 23:57:18 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT'} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:18.191133" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${global_config_url}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:18.171154" elapsed="0.020064"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:57:18.191729" elapsed="0.004558"/>
</kw>
<arg>root</arg>
<arg>incorrect</arg>
<doc>Set global credentials for SSH call-home devices</doc>
<status status="PASS" start="2026-09-05T23:57:18.167742" elapsed="0.028703"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-05T23:57:18.212310" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-09-05T23:57:18.212664" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-05T23:57:18.211945" elapsed="0.000770"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-05T23:57:18.213897" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-05T23:57:18.213041" elapsed="0.000946"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:18.211347" elapsed="0.002749"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:18.204139" elapsed="0.010004"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-05T23:57:18.214719" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:18.214419" elapsed="0.000397"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:18.204092" elapsed="0.010766"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:57:18.215659" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:57:18.215125" elapsed="0.000588"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:57:18.216523" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:57:18.216000" elapsed="0.000577"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:57:18.217333" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:57:18.216859" elapsed="0.000548"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:57:18.218103" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0n...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:57:18.217688" elapsed="0.000448"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:18.235090" level="INFO">POST Request : url=http://10.30.171.119: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=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"
        }
    }
}
 
 </msg>
<msg time="2026-09-05T23:57:18.235157" level="INFO">POST Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:18.235303" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:18.218368" elapsed="0.016967"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:57:18.235550" elapsed="0.004406"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-05T23:57:18.196979" elapsed="0.043108"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:57:18.240794" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-05T23:57:18.568481" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:57:18.568892" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:57:18.568979" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:57:18.569060" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:57:18.240436" elapsed="0.328671"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:18.572839" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:18.572045" elapsed="0.000849"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:18.573629" elapsed="0.000417"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:18.573057" elapsed="0.001066"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:18.573010" elapsed="0.001200"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:18.597586" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:18.597882" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:18.598072" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:18.588139" elapsed="0.009983"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:18.598911" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:18.598311" elapsed="0.000712"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:18.604062" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:18.599352" elapsed="0.004810"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:18.599072" elapsed="0.005190"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:18.598272" elapsed="0.006035"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:18.604579" elapsed="0.000331"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:18.610096" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:18.605587" elapsed="0.004695">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:18.605323" elapsed="0.005130">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:18.605025" elapsed="0.005553">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:18.587305" elapsed="0.023477">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:18.571136" elapsed="0.039913">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:20.613837" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:20.612963" elapsed="0.000939"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:20.614675" elapsed="0.000416"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:20.614067" elapsed="0.001102"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:20.614025" elapsed="0.001232"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:20.638888" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:20.639225" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:20.639447" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:20.629359" elapsed="0.010141"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:20.640281" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:20.639656" elapsed="0.000756"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:20.645304" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:20.640826" elapsed="0.004605"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:20.640479" elapsed="0.005065"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:20.639618" elapsed="0.005984"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:20.645870" elapsed="0.000392"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:20.651722" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:20.647070" elapsed="0.004800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:20.646762" elapsed="0.005255">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:20.646426" elapsed="0.005714">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:20.628505" elapsed="0.024000">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:20.612043" elapsed="0.040658">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:22.656241" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:22.655155" elapsed="0.001168"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:22.657232" elapsed="0.000522"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:22.656568" elapsed="0.001271"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:22.656504" elapsed="0.001405"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:22.684717" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:22.685098" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:22.685659" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:22.673889" elapsed="0.011828"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:22.686650" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:22.685896" elapsed="0.000871"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:22.691686" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:22.687109" elapsed="0.004684"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:22.686823" elapsed="0.005040"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:22.685851" elapsed="0.006060"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:22.692228" elapsed="0.000386"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:22.698596" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:22.693391" elapsed="0.005407">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:22.693070" elapsed="0.005929">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:22.692749" elapsed="0.006646">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:22.672905" elapsed="0.026758">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:22.653972" elapsed="0.045889">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:24.703240" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:24.702232" elapsed="0.001091"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:24.704124" elapsed="0.000501"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:24.703553" elapsed="0.001150"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:24.703495" elapsed="0.001269"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:24.733715" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:24.734138" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:24.734396" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:24.719401" elapsed="0.015048"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:24.735325" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:24.734634" elapsed="0.000879"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:24.740533" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:24.735841" elapsed="0.004802"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:24.735572" elapsed="0.005139"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:24.734592" elapsed="0.006164"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:24.741034" elapsed="0.000410"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:24.747540" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:24.742212" elapsed="0.005525">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:24.741902" elapsed="0.006166">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:24.741612" elapsed="0.006639">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:24.718450" elapsed="0.030056">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:24.701066" elapsed="0.047636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:26.752099" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:26.751092" elapsed="0.001084"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:26.753041" elapsed="0.000522"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:26.752434" elapsed="0.001211"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:26.752364" elapsed="0.001339"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:26.778128" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:26.778573" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:26.778771" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:26.767929" elapsed="0.010893"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:26.779642" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:26.778979" elapsed="0.000778"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:26.784465" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:26.780068" elapsed="0.004523"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:26.779807" elapsed="0.004853"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:26.778940" elapsed="0.005764"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:26.784956" elapsed="0.000381"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:26.790782" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:26.786046" elapsed="0.005077">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:26.785795" elapsed="0.005546">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:26.785462" elapsed="0.006013">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:26.767058" elapsed="0.024661">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:26.749953" elapsed="0.041959">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:28.795048" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:28.794130" elapsed="0.000992"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:28.795907" elapsed="0.000463"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:28.795340" elapsed="0.001109"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:28.795292" elapsed="0.001211"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:28.830161" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:28.830584" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:28.830805" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:28.811010" elapsed="0.019848"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:28.831679" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:28.831014" elapsed="0.000778"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:28.836393" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:28.832094" elapsed="0.004401"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:28.831843" elapsed="0.004743"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:28.830975" elapsed="0.005656"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:28.836999" elapsed="0.000378"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:28.842612" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:28.838028" elapsed="0.004746">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:28.837782" elapsed="0.005145">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:28.837493" elapsed="0.005558">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:28.810132" elapsed="0.033158">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:28.793115" elapsed="0.050368">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:30.846683" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:30.845722" 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-09-05T23:57:30.847542" elapsed="0.000451"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:30.846956" elapsed="0.001114"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:30.846904" elapsed="0.001222"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:30.872044" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:30.872469" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:30.872709" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:30.862404" elapsed="0.010361"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:30.873632" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:30.872927" elapsed="0.000826"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:30.878847" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:30.874245" elapsed="0.004715"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:30.873924" elapsed="0.005109"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:30.872887" elapsed="0.006195"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:30.879386" elapsed="0.000415"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:30.885834" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:30.880538" elapsed="0.005471">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:30.880253" elapsed="0.005917">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:30.879931" elapsed="0.006410">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:30.861482" elapsed="0.025107">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:30.844655" elapsed="0.042163">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:32.889895" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:32.888969" 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-09-05T23:57:32.890756" elapsed="0.000454"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:32.890154" elapsed="0.001137"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:32.890105" elapsed="0.001240"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:32.915240" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:32.915610" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:32.915943" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:32.905333" elapsed="0.010664"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:32.916817" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:32.916158" elapsed="0.000775"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:32.921570" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:32.917262" elapsed="0.004434"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:32.916981" elapsed="0.004787"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:32.916119" elapsed="0.005693"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:32.922065" elapsed="0.000380"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:32.927821" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:32.923110" elapsed="0.004872">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:32.922861" elapsed="0.005275">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:32.922567" elapsed="0.005730">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:32.904459" elapsed="0.024046">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:32.887976" elapsed="0.040743">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:34.931834" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:34.930904" elapsed="0.001005"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:34.932703" elapsed="0.000428"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:34.932099" elapsed="0.001142"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:34.932052" elapsed="0.001244"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:34.961176" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:34.961690" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:34.961926" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:34.948121" elapsed="0.013860"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:34.962878" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:34.962160" elapsed="0.000835"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:34.967677" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:34.963338" elapsed="0.004446"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:34.963045" elapsed="0.004809"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:34.962115" elapsed="0.005784"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:34.968152" elapsed="0.000377"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:34.973851" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:34.969222" elapsed="0.004790">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:34.968938" elapsed="0.005225">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:34.968674" elapsed="0.005649">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:34.947177" elapsed="0.027352">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:34.929894" elapsed="0.044848">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:36.978237" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:36.977226" elapsed="0.001093"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:36.979142" elapsed="0.000658"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:36.978539" elapsed="0.001344"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:36.978480" elapsed="0.001464"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:37.004395" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:37.004803" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:37.005003" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:36.994113" elapsed="0.010942"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:37.005876" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:37.005244" elapsed="0.000750"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:37.010687" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:37.006333" elapsed="0.004462"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:37.006042" elapsed="0.004823"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:37.005174" elapsed="0.005735"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:37.011163" elapsed="0.000391"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:37.017360" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:37.012266" elapsed="0.005272">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:37.011985" elapsed="0.005738">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:37.011700" elapsed="0.006153">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:36.993254" elapsed="0.024817">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:36.976029" elapsed="0.042293">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:39.020693" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:39.020114" elapsed="0.000626"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:39.021193" elapsed="0.000234"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:39.020876" elapsed="0.000588"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:39.020839" elapsed="0.000659"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:39.034905" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:39.035114" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:39.035228" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:39.027943" 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-09-05T23:57:39.035614" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:39.035326" elapsed="0.000358"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:39.037760" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:39.035827" elapsed="0.001984"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:39.035707" elapsed="0.002136"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:39.035308" elapsed="0.002555"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:39.037979" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:39.040543" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:39.038487" elapsed="0.002145">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:39.038368" elapsed="0.002354">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:39.038228" elapsed="0.002556">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:39.027549" elapsed="0.013339">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:39.019375" elapsed="0.021698">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:41.044633" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:41.043774" elapsed="0.000943"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:41.045462" elapsed="0.000430"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:41.044887" elapsed="0.001082"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:41.044845" elapsed="0.001174"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:41.069921" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:41.070280" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:41.070531" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:41.061168" elapsed="0.009419"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:41.071591" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:41.070809" elapsed="0.000923"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:41.076492" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:41.072046" elapsed="0.004549"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:41.071783" elapsed="0.004882"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:41.070758" elapsed="0.005974"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:41.076985" elapsed="0.000363"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:41.082528" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:41.077984" elapsed="0.004686">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:41.077732" elapsed="0.005103">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:41.077460" elapsed="0.005498">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:41.060160" elapsed="0.023128">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:41.042915" elapsed="0.040571">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:43.086653" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:43.085733" elapsed="0.001018"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:43.087532" elapsed="0.000459"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:43.086945" elapsed="0.001126"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:43.086895" elapsed="0.001227"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:43.112994" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:43.113365" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:43.113564" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:43.102011" elapsed="0.011607"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:43.114431" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:43.113798" elapsed="0.000749"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:43.119590" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:43.114872" elapsed="0.004823"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:43.114596" elapsed="0.005197"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:43.113759" elapsed="0.006081"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:43.120091" elapsed="0.000382"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:43.125724" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:43.121120" elapsed="0.004765">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:43.120872" elapsed="0.005163">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:43.120585" elapsed="0.005754">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:43.101134" elapsed="0.025422">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:43.084657" elapsed="0.042117">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:45.129589" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:45.128673" elapsed="0.000984"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:45.130485" elapsed="0.000461"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:45.129873" elapsed="0.001158"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:45.129827" elapsed="0.001259"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:45.156237" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:45.156554" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:45.156799" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:45.146764" elapsed="0.010093"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:45.157775" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:45.157046" elapsed="0.000852"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:45.163058" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:45.158251" elapsed="0.004920"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:45.157951" elapsed="0.005326"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:45.157000" elapsed="0.006326"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:45.163621" elapsed="0.000545"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:45.169913" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:45.164901" elapsed="0.005171">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:45.164601" elapsed="0.005754">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:45.164319" elapsed="0.006172">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:45.145663" elapsed="0.025048">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:45.127764" elapsed="0.043177">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:47.173632" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:47.172802" elapsed="0.000895"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:47.174444" elapsed="0.000432"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:47.173896" elapsed="0.001058"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:47.173852" elapsed="0.001152"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:47.200788" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:47.201071" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:47.201319" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:47.191655" elapsed="0.009718"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:47.202150" elapsed="0.000081"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:47.201533" elapsed="0.000765"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:47.206951" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:47.202600" elapsed="0.004454"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:47.202349" elapsed="0.004774"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:47.201494" elapsed="0.005673"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:47.207475" elapsed="0.000363"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:47.213026" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:47.208487" elapsed="0.004814">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:47.208238" elapsed="0.005212">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:47.207950" elapsed="0.005620">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:47.190785" elapsed="0.023006">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:47.171918" elapsed="0.042066">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:49.216556" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:49.215706" 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-09-05T23:57:49.217357" elapsed="0.000433"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:49.216812" elapsed="0.001057"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:49.216745" elapsed="0.001176"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:49.240735" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:49.241046" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:49.241271" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:49.232002" elapsed="0.009325"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:49.242096" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:49.241484" elapsed="0.000757"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:49.246848" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:49.242546" elapsed="0.004406"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:49.242291" elapsed="0.004731"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:49.241445" elapsed="0.005622"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:49.247445" elapsed="0.000358"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:49.253352" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:49.248443" elapsed="0.005059">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:49.248169" elapsed="0.005478">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:49.247916" elapsed="0.005875">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:49.231111" elapsed="0.022886">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:49.214877" elapsed="0.039341">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:51.256921" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:51.256050" elapsed="0.000935"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:51.257695" elapsed="0.000581"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:51.257153" elapsed="0.001202"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:51.257109" elapsed="0.001297"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:51.281367" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:51.281660" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:51.281871" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:51.272407" elapsed="0.009517"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:51.282675" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:51.282076" elapsed="0.000708"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:51.287487" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:51.283217" elapsed="0.004371"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:51.282933" elapsed="0.004722"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:51.282039" elapsed="0.005660"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:51.287969" elapsed="0.000367"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:51.293557" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:51.288961" elapsed="0.004744">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:51.288702" elapsed="0.005172">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:51.288447" elapsed="0.005551">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:51.271549" elapsed="0.022676">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:51.255131" elapsed="0.039287">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:53.296629" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:53.295946" 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-09-05T23:57:53.297206" elapsed="0.000291"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:53.296807" elapsed="0.000741"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:53.296774" elapsed="0.000812"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:53.314708" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:53.314936" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:53.315108" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:53.307545" elapsed="0.007588"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:53.315516" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:53.315233" elapsed="0.000336"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:53.317636" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:53.315709" elapsed="0.001974"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:53.315592" elapsed="0.002122"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:53.315212" elapsed="0.002522"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:53.317862" elapsed="0.000158"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:53.320332" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:53.318327" elapsed="0.002077">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:53.318211" elapsed="0.002262">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:53.318076" elapsed="0.002452">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:53.306972" elapsed="0.013649">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:53.295235" elapsed="0.025471">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:55.323345" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:55.322487" elapsed="0.000923"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:55.324117" elapsed="0.000441"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:55.323578" elapsed="0.001058"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:55.323536" elapsed="0.001153"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:55.347764" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:55.348161" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:55.348395" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:55.338748" elapsed="0.009700"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:55.349265" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:55.348610" elapsed="0.000771"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:55.353993" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:55.349687" elapsed="0.004413"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:55.349432" elapsed="0.004737"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:55.348570" elapsed="0.005676"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:55.354503" elapsed="0.000357"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:55.360570" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:55.355514" elapsed="0.005206">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:55.355266" elapsed="0.005622">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:55.354975" elapsed="0.006038">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:55.337880" elapsed="0.023363">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:55.321620" elapsed="0.039817">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:57.363995" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:57.363159" elapsed="0.000900"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:57.364754" elapsed="0.000553"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:57.364250" elapsed="0.001137"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:57.364207" elapsed="0.001232"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:57.388147" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:57.388469" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:57.388658" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:57.379499" elapsed="0.009211"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:57.389497" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:57.388885" elapsed="0.000724"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:57.394275" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:57.389929" elapsed="0.004448"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:57.389658" elapsed="0.004788"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:57.388827" elapsed="0.005663"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:57.394739" elapsed="0.000350"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:57.400273" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:57.395720" elapsed="0.004699">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:57.395479" elapsed="0.005083">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:57.395225" elapsed="0.005457">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:57.378621" elapsed="0.022286">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:57.362337" elapsed="0.038762">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:57:59.403728" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:57:59.402910" elapsed="0.000883"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:57:59.404515" elapsed="0.000491"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:59.403979" elapsed="0.001106"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:59.403938" elapsed="0.001197"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:57:59.428459" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:57:59.428735" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:57:59.428972" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:57:59.419459" elapsed="0.009568"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:57:59.429801" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:57:59.429213" elapsed="0.000724"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:57:59.434558" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:57:59.430266" elapsed="0.004393"/>
</kw>
<status status="PASS" start="2026-09-05T23:57:59.429988" elapsed="0.004738"/>
</branch>
<status status="PASS" start="2026-09-05T23:57:59.429145" elapsed="0.005625"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:57:59.435038" elapsed="0.000357"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:57:59.440551" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:57:59.436013" elapsed="0.004685">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:57:59.435751" elapsed="0.005090">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:57:59.435502" elapsed="0.005485">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:57:59.418587" elapsed="0.022631">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:57:59.402041" elapsed="0.039459">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:01.444078" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:01.443274" elapsed="0.000866"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:01.444840" elapsed="0.000468"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:01.444334" elapsed="0.001051"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:01.444291" elapsed="0.001146"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:01.468423" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:01.468709" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:01.468934" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:01.459644" elapsed="0.009344"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:01.469799" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:01.469157" elapsed="0.000776"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:01.474601" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:01.470264" elapsed="0.004442"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:01.469984" elapsed="0.004790"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:01.469115" elapsed="0.005705"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:01.475105" elapsed="0.000364"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:01.481017" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:01.476106" elapsed="0.005056">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:01.475835" elapsed="0.005500">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:01.475581" elapsed="0.005877">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:01.458780" elapsed="0.022999">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:01.442392" elapsed="0.039605">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:03.484891" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:03.484024" elapsed="0.000953"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:03.485723" elapsed="0.000446"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:03.485148" elapsed="0.001382"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:03.485104" elapsed="0.001481"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:03.512023" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:03.512348" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:03.512576" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:03.501363" elapsed="0.011267"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:03.513483" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:03.512787" elapsed="0.000814"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:03.518379" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:03.513926" elapsed="0.004559"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:03.513651" elapsed="0.004904"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:03.512748" elapsed="0.005852"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:03.518854" elapsed="0.000394"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:03.524452" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:03.519888" elapsed="0.004712">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:03.519642" elapsed="0.005104">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:03.519362" elapsed="0.005636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:03.500361" elapsed="0.024879">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:03.483071" elapsed="0.042367">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:05.528981" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:05.528067" elapsed="0.000985"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:05.529791" elapsed="0.000469"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:05.529262" elapsed="0.001078"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:05.529214" elapsed="0.001180"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:05.554483" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:05.554811" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:05.555052" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:05.544888" elapsed="0.010217"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:05.555886" elapsed="0.000074"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:05.555297" elapsed="0.000729"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:05.560659" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:05.556359" elapsed="0.004403"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:05.556074" elapsed="0.004757"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:05.555256" elapsed="0.005618"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:05.561150" elapsed="0.000371"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:05.566758" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:05.562169" elapsed="0.004744">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:05.561897" elapsed="0.005394">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:05.561636" elapsed="0.005788">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:05.544026" elapsed="0.023607">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:05.527026" elapsed="0.040794">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:07.570629" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:07.569735" elapsed="0.000961"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:07.571452" elapsed="0.000420"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:07.570873" elapsed="0.001101"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:07.570826" elapsed="0.001204"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:07.595564" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:07.595893" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:07.596110" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:07.586486" elapsed="0.009676"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:07.596993" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:07.596355" elapsed="0.000754"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:07.601904" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:07.597444" elapsed="0.004587"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:07.597158" elapsed="0.004942"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:07.596314" elapsed="0.005829"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:07.602429" elapsed="0.000348"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:07.608433" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:07.603454" elapsed="0.005223">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:07.603204" elapsed="0.005628">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:07.602893" elapsed="0.006087">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:07.585507" elapsed="0.023711">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:07.568748" elapsed="0.040665">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:09.612555" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:09.611558" elapsed="0.001065"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:09.613481" elapsed="0.000435"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:09.612805" elapsed="0.001232"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:09.612759" elapsed="0.001348"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:09.641327" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:09.641676" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:09.641880" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:09.630353" elapsed="0.011580"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:09.642835" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:09.642161" elapsed="0.000822"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:09.648391" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:09.643418" elapsed="0.005101"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:09.643052" elapsed="0.005539"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:09.642110" elapsed="0.006526"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:09.649026" elapsed="0.000467"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:09.655470" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:09.650253" elapsed="0.005386">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:09.649885" elapsed="0.005910">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:09.649616" elapsed="0.006303">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:09.629444" elapsed="0.026799">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:09.610526" elapsed="0.045966">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:11.659262" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:11.658361" elapsed="0.000971"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:11.660234" elapsed="0.000417"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:11.659504" elapsed="0.001224"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:11.659459" elapsed="0.001327"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:11.684799" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:11.685134" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:11.685390" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:11.675416" elapsed="0.010028"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:11.686247" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:11.685603" elapsed="0.000761"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:11.691243" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:11.686839" elapsed="0.004511"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:11.686573" elapsed="0.004850"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:11.685564" elapsed="0.005905"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:11.691722" elapsed="0.000364"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:11.697348" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:11.692739" elapsed="0.004766">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:11.692494" elapsed="0.005160">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:11.692230" elapsed="0.005547">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:11.674525" elapsed="0.023483">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:11.657489" elapsed="0.040744">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:13.701242" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:13.700365" elapsed="0.000946"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:13.702064" elapsed="0.000514"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:13.701490" elapsed="0.001170"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:13.701443" elapsed="0.001270"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:13.725915" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:13.726292" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:13.726615" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:13.716973" elapsed="0.009699"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:13.727493" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:13.726832" elapsed="0.000775"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:13.732290" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:13.727914" elapsed="0.004481"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:13.727656" elapsed="0.004808"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:13.726793" elapsed="0.005716"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:13.732764" elapsed="0.000363"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:13.738810" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:13.733784" elapsed="0.005182">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:13.733540" elapsed="0.005604">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:13.733277" elapsed="0.006026">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:13.715827" elapsed="0.023683">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:13.699451" elapsed="0.040247">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:15.742745" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:15.741763" elapsed="0.001048"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:15.743568" elapsed="0.000414"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:15.743010" elapsed="0.001076"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:15.742943" elapsed="0.001196"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:15.761722" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:15.762011" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:15.762130" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:15.755093" 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-09-05T23:58:15.762608" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:15.762303" elapsed="0.000360"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:15.767601" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:15.762804" elapsed="0.004902"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:15.762687" elapsed="0.005089"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:15.762278" elapsed="0.005542"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:15.768132" elapsed="0.000432"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:15.774151" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:15.769325" elapsed="0.005023">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:15.768950" elapsed="0.005580">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:15.768684" elapsed="0.005980">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:15.754675" elapsed="0.020194">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:15.740728" elapsed="0.034357">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:17.777814" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:17.776949" elapsed="0.000931"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:17.778610" elapsed="0.000550"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:17.778071" elapsed="0.001199"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:17.778026" elapsed="0.001297"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:17.802110" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:17.802446" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:17.802660" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:17.793534" elapsed="0.009177"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:17.803491" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:17.802865" elapsed="0.000738"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:17.808217" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:17.803898" elapsed="0.004424"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:17.803651" elapsed="0.004741"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:17.802828" elapsed="0.005606"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:17.808682" elapsed="0.000355"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:17.814173" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:17.809681" elapsed="0.004672">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:17.809440" elapsed="0.005063">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:17.809151" elapsed="0.005511">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:17.792670" elapsed="0.022206">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:17.776057" elapsed="0.039031">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:19.816673" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:19.816276" elapsed="0.000431"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:19.817048" elapsed="0.000206"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:19.816793" elapsed="0.000497"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:19.816771" elapsed="0.000543"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:19.830289" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:19.830435" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:19.830523" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:19.823405" elapsed="0.007142"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:19.830882" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:19.830618" elapsed="0.000315"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:19.832968" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:19.831080" elapsed="0.001943"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:19.830955" elapsed="0.002100"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:19.830600" elapsed="0.002474"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:19.833200" elapsed="0.000155"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:19.835822" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:19.833637" elapsed="0.002258">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:19.833528" elapsed="0.002436">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:19.833407" elapsed="0.002628">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:19.823011" elapsed="0.013119">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:19.815793" elapsed="0.020499">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:21.838893" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:21.838062" elapsed="0.000895"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:21.839699" elapsed="0.000443"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:21.839149" elapsed="0.001102"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:21.839104" elapsed="0.001203"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:21.865095" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:21.865439" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:21.865701" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:21.855397" elapsed="0.010363"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:21.866606" elapsed="0.000072"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:21.865925" elapsed="0.000830"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:21.871412" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:21.867085" elapsed="0.004430"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:21.866806" elapsed="0.004779"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:21.865884" elapsed="0.005744"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:21.871879" elapsed="0.000385"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:21.877562" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:21.872880" elapsed="0.004831">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:21.872639" elapsed="0.005219">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:21.872382" elapsed="0.005596">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:21.854452" elapsed="0.023866">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:21.837225" elapsed="0.041290">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:23.881214" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:23.880351" elapsed="0.000949"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:23.882146" elapsed="0.000567"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:23.881502" elapsed="0.001317"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:23.881450" elapsed="0.001444"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:23.916020" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:23.916406" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:23.916641" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:23.906442" elapsed="0.010255"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:23.917573" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:23.916869" elapsed="0.000826"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:23.922770" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:23.918018" elapsed="0.004861"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:23.917749" elapsed="0.005203"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:23.916826" elapsed="0.006173"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:23.923336" elapsed="0.000365"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:23.929349" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:23.924414" elapsed="0.005095">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:23.924121" elapsed="0.005542">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:23.923818" elapsed="0.006060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:23.905386" elapsed="0.024736">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:23.879477" elapsed="0.050884">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:25.932923" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:25.932099" elapsed="0.000888"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:25.933728" elapsed="0.000427"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:25.933214" elapsed="0.001051"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:25.933144" elapsed="0.001173"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:25.956776" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:25.957086" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:25.957311" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:25.948134" elapsed="0.009230"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:25.958128" elapsed="0.000077"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:25.957523" elapsed="0.000748"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:25.962835" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:25.958571" elapsed="0.004365"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:25.958320" elapsed="0.004684"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:25.957483" elapsed="0.005586"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:25.963351" elapsed="0.000341"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:25.969325" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:25.964372" elapsed="0.005108">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:25.964090" elapsed="0.005640">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:25.963804" elapsed="0.006055">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:25.947296" elapsed="0.022788">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:25.931277" elapsed="0.039029">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:27.972913" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:27.972054" elapsed="0.000925"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:27.973740" elapsed="0.000470"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:27.973212" elapsed="0.001080"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:27.973140" elapsed="0.001204"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:27.997363" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:27.997656" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:27.997862" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:27.988925" elapsed="0.008990"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:27.998770" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:27.998115" elapsed="0.000770"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:28.004405" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:27.999275" elapsed="0.005241"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:27.998935" elapsed="0.005655"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:27.998046" elapsed="0.006590"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:28.004911" elapsed="0.000469"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:28.010800" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:28.006251" elapsed="0.004724">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:28.005841" elapsed="0.005245">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:28.005501" elapsed="0.005664">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:27.987929" elapsed="0.023389">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:27.971221" elapsed="0.040218">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:30.014018" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:30.013205" elapsed="0.000900"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:30.014827" elapsed="0.000471"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:30.014305" elapsed="0.001085"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:30.014261" elapsed="0.001184"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:30.038562" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:30.038905" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:30.039166" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:30.029777" elapsed="0.009509"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:30.040136" elapsed="0.000084"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:30.039451" elapsed="0.000836"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:30.044863" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:30.040588" elapsed="0.004378"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:30.040335" elapsed="0.004700"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:30.039411" elapsed="0.005689"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:30.045480" elapsed="0.000340"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:30.051004" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:30.046491" elapsed="0.004719">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:30.046242" elapsed="0.005121">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:30.045932" elapsed="0.005554">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:30.028892" elapsed="0.022795">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:30.012339" elapsed="0.039536">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:32.054453" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:32.053605" elapsed="0.000913"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:32.055246" elapsed="0.000412"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:32.054684" elapsed="0.001051"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:32.054641" elapsed="0.001145"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:32.078439" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:32.078729" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:32.078925" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:32.069697" elapsed="0.009283"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:32.079802" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:32.079166" elapsed="0.000750"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:32.084893" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:32.080379" elapsed="0.004618"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:32.080065" elapsed="0.005000"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:32.079125" elapsed="0.006011"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:32.085423" elapsed="0.000336"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:32.091546" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:32.086435" elapsed="0.005272">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:32.086154" elapsed="0.005701">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:32.085873" elapsed="0.006104">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:32.068822" elapsed="0.023413">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:32.052754" elapsed="0.039676">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:34.095299" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:34.094372" elapsed="0.001000"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:34.096149" elapsed="0.000500"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:34.095550" elapsed="0.001181"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:34.095505" elapsed="0.001284"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:34.120711" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:34.121034" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:34.121391" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:34.111661" elapsed="0.009786"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:34.122316" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:34.121615" elapsed="0.000825"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:34.127293" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:34.122751" elapsed="0.004652"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:34.122490" elapsed="0.004985"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:34.121573" elapsed="0.005948"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:34.127783" elapsed="0.000387"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:34.133645" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:34.128848" elapsed="0.004952">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:34.128596" elapsed="0.005353">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:34.128332" elapsed="0.005746">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:34.110723" elapsed="0.023621">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:34.093448" elapsed="0.041128">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:36.137242" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:36.136394" elapsed="0.000916"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:36.137994" elapsed="0.000462"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:36.137478" elapsed="0.001055"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:36.137436" elapsed="0.001149"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:36.161685" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:36.162041" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:36.162321" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:36.152901" elapsed="0.009479"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:36.163146" elapsed="0.000078"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:36.162539" elapsed="0.000752"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:36.167948" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:36.163594" elapsed="0.004459"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:36.163340" elapsed="0.004806"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:36.162500" elapsed="0.005723"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:36.168509" elapsed="0.000361"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:36.174051" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:36.169554" elapsed="0.004706">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:36.169307" elapsed="0.005102">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:36.168983" elapsed="0.005550">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:36.152026" elapsed="0.022705">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:36.135537" elapsed="0.039384">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:38.177542" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:38.176688" elapsed="0.000922"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:38.178343" elapsed="0.000525"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:38.177778" elapsed="0.001169"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:38.177736" elapsed="0.001262"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:38.205676" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:38.205979" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:38.206247" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:38.195542" elapsed="0.010765"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:38.207247" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:38.206486" elapsed="0.000882"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:38.212843" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:38.207684" elapsed="0.005321"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:38.207420" elapsed="0.005716"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:38.206441" elapsed="0.006814"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:38.213638" elapsed="0.000518"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:38.222703" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:38.215133" elapsed="0.007784">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:38.214743" elapsed="0.008420">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:38.214363" elapsed="0.009031">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:38.194413" elapsed="0.029292">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:38.175826" elapsed="0.048175">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:40.226754" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:40.225909" elapsed="0.000906"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:40.227565" elapsed="0.000416"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:40.226981" elapsed="0.001083"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:40.226937" elapsed="0.001205"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:40.251291" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:40.251579" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:40.251778" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:40.242173" elapsed="0.009658"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:40.252678" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:40.251996" elapsed="0.000799"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:40.258002" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:40.253095" elapsed="0.005056"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:40.252844" elapsed="0.005419"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:40.251955" elapsed="0.006359"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:40.258609" elapsed="0.000364"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:40.264419" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:40.259686" elapsed="0.004887">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:40.259420" elapsed="0.005299">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:40.259093" elapsed="0.005748">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:40.241329" elapsed="0.023722">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:40.225050" elapsed="0.040350">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:42.268033" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:42.267232" elapsed="0.000867"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:42.268836" elapsed="0.000460"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:42.268320" elapsed="0.001056"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:42.268277" elapsed="0.001152"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:42.293807" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:42.294085" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:42.294373" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:42.283702" elapsed="0.010726"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:42.295233" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:42.294591" elapsed="0.000760"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:42.299977" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:42.295655" elapsed="0.004429"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:42.295402" elapsed="0.004800"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:42.294550" elapsed="0.005703"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:42.300510" elapsed="0.000336"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:42.306030" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:42.301527" elapsed="0.004704">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:42.301273" elapsed="0.005109">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:42.300959" elapsed="0.005547">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:42.282823" elapsed="0.023981">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:42.266372" elapsed="0.040626">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:44.309635" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:44.308777" elapsed="0.000923"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:44.310431" elapsed="0.000412"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:44.309869" elapsed="0.001052"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:44.309826" elapsed="0.001146"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:44.336400" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:44.336689" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:44.336892" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:44.324933" elapsed="0.012014"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:44.337789" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:44.337113" elapsed="0.000790"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:44.342590" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:44.338267" elapsed="0.004426"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:44.337954" elapsed="0.004808"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:44.337073" elapsed="0.005734"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:44.343057" elapsed="0.000394"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:44.349611" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:44.344083" elapsed="0.005677">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:44.343829" elapsed="0.006081">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:44.343568" elapsed="0.006582">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:44.324042" elapsed="0.026354">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:44.307893" elapsed="0.042696">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:46.353458" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:46.352554" elapsed="0.000972"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:46.354310" elapsed="0.000439"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:46.353707" elapsed="0.001126"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:46.353660" elapsed="0.001229"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:46.379838" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:46.380163" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:46.380409" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:46.370384" elapsed="0.010081"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:46.381350" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:46.380643" elapsed="0.000825"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:46.386561" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:46.381786" elapsed="0.004879"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:46.381521" elapsed="0.005214"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:46.380599" elapsed="0.006180"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:46.387034" elapsed="0.000389"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:46.392609" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:46.388048" elapsed="0.004708">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:46.387797" elapsed="0.005199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:46.387539" elapsed="0.005611">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:46.369430" elapsed="0.023960">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:46.351653" elapsed="0.041934">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:48.395525" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:48.394948" elapsed="0.000622"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:48.396022" elapsed="0.000300"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:48.395689" elapsed="0.000682"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:48.395657" elapsed="0.000748"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:48.416654" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:48.416849" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:48.416992" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:48.405448" elapsed="0.011579"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:48.417554" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:48.417148" elapsed="0.000479"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:48.420579" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:48.417820" elapsed="0.002824"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:48.417660" elapsed="0.003028"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:48.417103" elapsed="0.003614"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:48.420879" elapsed="0.000214"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:48.424391" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:48.421554" elapsed="0.003009">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:48.421397" elapsed="0.003260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:48.421217" elapsed="0.003519">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:48.404859" elapsed="0.020007">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:48.394331" elapsed="0.030654">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:50.427732" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:50.426830" elapsed="0.000982"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:50.428670" elapsed="0.000419"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:50.428007" elapsed="0.001213"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:50.427954" elapsed="0.001323"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:50.455792" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:50.456096" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:50.456364" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:50.443236" elapsed="0.013184"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:50.457258" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:50.456590" elapsed="0.000786"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:50.462049" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:50.457686" elapsed="0.004491"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:50.457428" elapsed="0.004848"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:50.456548" elapsed="0.005774"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:50.462677" elapsed="0.000340"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:50.468701" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:50.463697" elapsed="0.005154">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-05T23:58:50.463446" elapsed="0.005555">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:50.463155" elapsed="0.005973">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:50.442372" elapsed="0.027017">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:50.425914" elapsed="0.043669">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<msg time="2026-09-05T23:58:50.469765" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-09-05T23:57:18.569704" elapsed="91.900270">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-05T23:58:50.470388" elapsed="0.000046"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:50.472095" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-05T23:58:50.770274" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:58:50.770663" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:58:50.770753" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:58:50.770836" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:50.471743" elapsed="0.299140"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:50.772001" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:50.771381" elapsed="0.000865"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:50.772900" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-05T23:58:51.094012" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:58:51.094495" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:58:51.094590" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:58:51.094673" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:50.772553" elapsed="0.322168"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:51.095682" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-05T23:58:51.163744" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-05T23:58:51.163981" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-05T23:58:51.164068" level="INFO">${stderr} = </msg>
<msg time="2026-09-05T23:58:51.164170" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:51.095223" elapsed="0.069034"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:51.164782" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-05T23:58:51.212283" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:51.164582" elapsed="0.047834"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:51.228988" level="INFO">DELETE Request : url=http://10.30.171.119: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=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:51.229080" level="INFO">DELETE Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:51.229329" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:51.212716" elapsed="0.016665"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:51.240485" level="INFO">DELETE Request : url=http://10.30.171.119: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=node0s6w1t2dw24fe1qiddky3ev87p3.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:51.240757" level="INFO">DELETE Response : url=http://10.30.171.119:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-05T23:58:51.240959" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:51.229668" elapsed="0.011344"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-05T23:58:50.471030" elapsed="0.770145"/>
</kw>
<doc>CallHome SSH device registered with wrong global credentials should fail to mount.</doc>
<status status="FAIL" start="2026-09-05T23:57:17.772819" elapsed="93.468494">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDyDVOq9Nsn149jkqeab9Yd9DpjPuZRG2ZviH95CfVzpuVFzuI+BQTjTit+Wu0ntNLHH1I1Jsta9mpo9m28poYf8oCeNp+Gz5Gw717Muu/ZFR5cWguwwhMuJLIZeiYW4mO+++PEBR4/qW0XZ9JxR7hW0AJFuCcRyRLfyJBaZKvwFfu7T4DHrLIhWOtVWoZGN1aLrIgKhzeupX2K086BrErJJcQK8A7zSPuP+YNsixqQapyslqXlH/O0zoHRV+eJjEJ8b7q74pmDx3v8xLsGRlhDIN+AK7UjaKcNegTZzb8jOkT25u9ltQdIwsS2WDiWSGZLkpaOkrGSNkXR/uILdsTT"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</test>
<test id="s1-s1-t5" name="CallHome with Incorrect Node-id" line="91">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:51.244500" level="INFO">Creating Session using : alias=session, url=http://10.30.171.119:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7526caee0850&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-05T23:58:51.243946" elapsed="0.000855"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:51.245334" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-05T23:58:51.259853" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:51.245087" elapsed="0.014901"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:51.260576" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-05T23:58:51.643071" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:51.260379" elapsed="0.382944"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:51.643964" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-05T23:58:51.692415" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-05T23:58:51.692647" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCwZTd8pn1rf4rpDy3vAyRHm5r9HrviuJEDtkRt+5mGvNfiXgKID8ThvNQPZ5tPXVX4z9Ga4SKBWT1aKHqy427ep2sEwpFgUpQJv2Ft1Auw/HFe3D+yrzhyN/MZqrLUWws+VeS+su82c4ZeIEqPLXC0dOiwwknboqbFJUngSNO+...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:51.643711" elapsed="0.049116"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-05T23:58:51.701557" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCwZTd8pn1rf4rpDy3vAyRHm5r9HrviuJEDtkRt+5mGvNfiXgKID8ThvNQPZ5tPXVX4z9Ga4SKBWT1aKHqy427ep2sEwpFgUpQJv2Ft1Auw/HFe3D+yrzhyN/MZqrLUWws+VeS+su82c4ZeIEqPLXC0dOiwwknboqbFJUngSNO+...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-05T23:58:51.693255" elapsed="0.008425"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-05T23:58:51.243430" elapsed="0.458384"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-05T23:58:51.737926" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-05T23:58:51.702817" elapsed="0.035253"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-05T23:58:51.748802" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-05T23:58:51.738413" elapsed="0.010513"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-05T23:58:51.702244" elapsed="0.046810"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-05T23:58:51.757959" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:51.750365" elapsed="0.007702"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-05T23:58:51.759386" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-09-05T23:58:51.759664" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-05T23:58:51.759017" elapsed="0.000718"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-05T23:58:51.760802" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-05T23:58:51.760046" elapsed="0.000842"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:51.758475" elapsed="0.002536"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:51.758122" elapsed="0.002936"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:51.750317" elapsed="0.010785"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:58:51.761983" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}"...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:58:51.761446" elapsed="0.000592"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:58:51.762859" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
   ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:58:51.762392" elapsed="0.000521"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:58:51.763725" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
         ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:58:51.763256" elapsed="0.000523"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:58:51.764589" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
         ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:58:51.764077" elapsed="0.000565"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:51.788667" level="INFO">POST Request : url=http://10.30.171.119: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX"
        }
    }
}
 
 </msg>
<msg time="2026-09-05T23:58:51.788877" level="INFO">POST Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0erinztdtcron1wnzs0bqqgyty4.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 04-Sep-2026 23:58:51 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=incorrect_hostname', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:51.789079" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:51.764926" elapsed="0.024204"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:58:51.789512" elapsed="0.004500"/>
</kw>
<arg>incorrect_hostname</arg>
<arg>${INCORRECT_PUB_KEY}</arg>
<arg>root</arg>
<arg>root</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-05T23:58:51.749622" elapsed="0.044534"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-05T23:58:51.809741" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-09-05T23:58:51.810002" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-05T23:58:51.809448" elapsed="0.000606"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-05T23:58:51.811034" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-05T23:58:51.810406" elapsed="0.000711"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:51.808853" elapsed="0.002423"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:51.801961" elapsed="0.009364"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-05T23:58:51.811668" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:51.811376" elapsed="0.000389"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:51.801923" elapsed="0.009885"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:58:51.812630" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:58:51.812095" elapsed="0.000605"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:58:51.813498" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:58:51.812989" elapsed="0.000580"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:58:51.814364" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:58:51.813857" elapsed="0.000577"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:58:51.814928" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCwZTd8pn1rf4rpDy3vAyRHm5r9HrviuJEDtkRt+5mGvNfiXgKID8ThvNQPZ5tP...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:58:51.814640" elapsed="0.000322"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:51.826946" level="INFO">POST Request : url=http://10.30.171.119: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=node0erinztdtcron1wnzs0bqqgyty4.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCwZTd8pn1rf4rpDy3vAyRHm5r9HrviuJEDtkRt+5mGvNfiXgKID8ThvNQPZ5tPXVX4z9Ga4SKBWT1aKHqy427ep2sEwpFgUpQJv2Ft1Auw/HFe3D+yrzhyN/MZqrLUWws+VeS+su82c4ZeIEqPLXC0dOiwwknboqbFJUngSNO+lSrJnlP4qbgeCPbCEjCmBvpiSMugnK5VQLNq+h+E7SZ73YltsuzOVo9pUSaiFLLlXzAJ3lzNPsQHujYEMa0dQrUf9lXcVNLUFgau5fPu2Wbjn72pt5eRPf3Qp4QtRToMVHNw1fyiDiDoHv8x8Et3lM4AwhOy5lEka8QRCHQQpMCj"
        }
    }
}
 
 </msg>
<msg time="2026-09-05T23:58:51.827010" level="INFO">POST Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:51.827115" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:51.815125" elapsed="0.012038"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:58:51.827394" elapsed="0.004258"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-05T23:58:51.794703" elapsed="0.037073"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:51.832525" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-05T23:58:52.138973" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:58:52.139371" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:58:52.139459" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:58:52.139542" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:51.832054" elapsed="0.307536"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:52.142958" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"DISCONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:52.142222" elapsed="0.000791"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-05T23:58:52.143740" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:52.143224" elapsed="0.000632"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:52.143129" elapsed="0.000776"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:52.168075" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0erinztdtcron1wnzs0bqqgyty4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:52.168459" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}},{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwZTd8pn1rf4rpDy3vAyRHm5r9HrviuJEDtkRt+5mGvNfiXgKID8ThvNQPZ5tPXVX4z9Ga4SKBWT1aKHqy427ep2sEwpFgUpQJv2Ft1Auw/HFe3D+yrzhyN/MZqrLUWws+VeS+su82c4ZeIEqPLXC0dOiwwknboqbFJUngSNO+lSrJnlP4qbgeCPbCEjCmBvpiSMugnK5VQLNq+h+E7SZ73YltsuzOVo9pUSaiFLLlXzAJ3lzNPsQHujYEMa0dQrUf9lXcVNLUFgau5fPu2Wbjn72pt5eRPf3Qp4QtRToMVHNw1fyiDiDoHv8x8Et3lM4AwhOy5lEka8QRCHQQpMCj"}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:52.168687" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:52.158828" elapsed="0.009912"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:52.169527" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:52.168895" elapsed="0.000744"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:52.174313" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"incorrect_hostname","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}},{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwZTd8pn1rf4rpDy3vAyRHm5r9HrviuJEDtkRt+5mGvNfiXgKID8ThvNQPZ5tPXVX4z9Ga4SKBWT1aKHqy427ep2sEwpFgUpQJv2Ft1Auw/HFe3D+yrzhyN/MZqrLUWws+VeS+su82c4ZeIEqPLXC0dOiwwknboqbFJUngSNO+lSrJnlP4qbgeCPbCEjCmBvpiSMugnK5VQLNq+h+E7SZ73YltsuzOVo9pUSaiFLLlXzAJ3lzNPsQHujYEMa0dQrUf9lXcVNLUFgau5fPu2Wbjn72pt5eRPf3Qp4QtRToMVHNw1fyiDiDoHv8x8Et3lM4AwhOy5lEka8QRCHQQpMCj"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:52.169933" elapsed="0.004494"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:52.169688" elapsed="0.004808"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:52.168858" elapsed="0.005683"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:52.174812" elapsed="0.000352"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:58:52.175979" elapsed="0.004642"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-05T23:58:52.175713" elapsed="0.005008"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:58:52.181125" elapsed="0.004661"/>
</kw>
<var name="${i}">"device-status":"DISCONNECTED"</var>
<status status="PASS" start="2026-09-05T23:58:52.180885" elapsed="0.004983"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-09-05T23:58:52.175394" elapsed="0.010533"/>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-09-05T23:58:52.157950" elapsed="0.028104"/>
</kw>
<arg>DISCONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="PASS" start="2026-09-05T23:58:52.141468" elapsed="0.044735"/>
</kw>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>DISCONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-09-05T23:58:52.140056" elapsed="0.046242"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Run Keyword And Expect Error" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:52.234265" level="INFO">GET Request : url=http://10.30.171.119: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=node0erinztdtcron1wnzs0bqqgyty4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:52.234432" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/network-topology:network-topology/topology=topology-netconf?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '990'} 
 body={"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]} 
 </msg>
<msg time="2026-09-05T23:58:52.234577" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:52.199990" elapsed="0.034619"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:52.235078" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:52.234707" elapsed="0.000455"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:52.238052" level="INFO">{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:52.235368" elapsed="0.002751"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:52.235212" elapsed="0.002984"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:52.234683" elapsed="0.003543"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:52.238384" elapsed="0.000221"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:52.241918" level="FAIL">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:52.238991" elapsed="0.003030">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</kw>
<var name="${i}">"connection-status":"connected"</var>
<status status="FAIL" start="2026-09-05T23:58:52.238828" elapsed="0.003305">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:52.238672" elapsed="0.003578">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</for>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:52.199412" elapsed="0.043017">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</kw>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the keyword and checks that the expected error occurred.</doc>
<status status="PASS" start="2026-09-05T23:58:52.187696" elapsed="0.055016"/>
</kw>
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-09-05T23:58:52.186629" elapsed="0.056155"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:52.243792" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-05T23:58:52.561005" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:58:52.561425" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:58:52.561515" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:58:52.561595" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:52.243574" elapsed="0.318069"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:52.562780" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:52.562093" elapsed="0.000774"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:52.563559" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-05T23:58:52.902847" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:58:52.903260" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:58:52.903360" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:58:52.903442" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:52.563207" elapsed="0.340281"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:52.904368" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-05T23:58:52.976628" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-05T23:58:52.976885" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-05T23:58:52.976974" level="INFO">${stderr} = </msg>
<msg time="2026-09-05T23:58:52.977054" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:52.903908" elapsed="0.073190"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:52.977740" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-05T23:58:53.028318" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:52.977514" elapsed="0.050994"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:53.043967" level="INFO">DELETE Request : url=http://10.30.171.119: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=node0erinztdtcron1wnzs0bqqgyty4.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:53.044069" level="INFO">DELETE Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:53.044357" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:53.028875" elapsed="0.015539"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:53.051827" level="INFO">DELETE Request : url=http://10.30.171.119: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=node0erinztdtcron1wnzs0bqqgyty4.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:53.052091" level="INFO">DELETE Response : url=http://10.30.171.119:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-05T23:58:53.052369" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:53.044725" elapsed="0.007699"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-05T23:58:52.243154" elapsed="0.809407"/>
</kw>
<doc>CallHome from device that does not have an entry in per-device credential with result to mount point failure.</doc>
<status status="PASS" start="2026-09-05T23:58:51.242117" elapsed="1.810531"/>
</test>
<test id="s1-s1-t6" name="CallHome with Rogue Devices" line="111">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:53.056068" level="INFO">Creating Session using : alias=session, url=http://10.30.171.119:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7526caf79f10&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-05T23:58:53.055514" elapsed="0.000905"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:53.057052" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-05T23:58:53.079956" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:53.056807" elapsed="0.023283"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:53.080657" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-05T23:58:53.668353" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:53.080446" elapsed="0.588071"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:53.668981" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-05T23:58:53.716003" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-05T23:58:53.716238" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDDHvrEIiH2raWqSEfBcARXSIT8YMqkxNat7i8ZmVy1fBNF7CnzoRo4j/MMP1ewYzoQWzDFDcJJKY/HyCOqG4Apa//Zul/ldZgipKqbXe+Pc510KiJNHzCqEMUKPcU9Pa8KNAkccCQen7dyRrRJucGxWOpFW/pnFHLp5/5ggu2M...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:53.668803" elapsed="0.047485"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-05T23:58:53.721388" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDDHvrEIiH2raWqSEfBcARXSIT8YMqkxNat7i8ZmVy1fBNF7CnzoRo4j/MMP1ewYzoQWzDFDcJJKY/HyCOqG4Apa//Zul/ldZgipKqbXe+Pc510KiJNHzCqEMUKPcU9Pa8KNAkccCQen7dyRrRJucGxWOpFW/pnFHLp5/5ggu2M...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-05T23:58:53.716580" elapsed="0.004867"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-05T23:58:53.054936" elapsed="0.666593"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-05T23:58:53.768090" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-05T23:58:53.722094" elapsed="0.046372"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-05T23:58:53.781220" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-05T23:58:53.769093" elapsed="0.012259"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-05T23:58:53.721757" elapsed="0.059757"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-05T23:58:53.790552" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:53.783095" elapsed="0.007572"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-05T23:58:53.792017" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-09-05T23:58:53.792393" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-05T23:58:53.791687" elapsed="0.000762"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-05T23:58:53.793649" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-05T23:58:53.792799" elapsed="0.000937"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:53.791019" elapsed="0.002827"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:53.790731" elapsed="0.003161"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:53.783031" elapsed="0.010906"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:58:53.794815" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
      ...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:58:53.794277" elapsed="0.000593"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:58:53.795688" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
          },...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:58:53.795214" elapsed="0.000529"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:58:53.796685" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:58:53.796212" elapsed="0.000527"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-05T23:58:53.797545" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-05T23:58:53.797026" elapsed="0.000573"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:53.816341" level="INFO">POST Request : url=http://10.30.171.119: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX"
        }
    }
}
 
 </msg>
<msg time="2026-09-05T23:58:53.816461" level="INFO">POST Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 04-Sep-2026 23:58:53 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:53.816646" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:53.797872" elapsed="0.018826"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-05T23:58:53.817016" elapsed="0.004528"/>
</kw>
<arg>netopeer2</arg>
<arg>${INCORRECT_PUB_KEY}</arg>
<arg>root</arg>
<arg>root</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-05T23:58:53.782218" elapsed="0.039459"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-05T23:58:53.822471" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-05T23:58:54.099054" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-05T23:58:54.099593" level="INFO">${stdout} = </msg>
<msg time="2026-09-05T23:58:54.099683" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-05T23:58:54.099765" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-05T23:58:53.822022" elapsed="0.277791"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:54.104076" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:54.103022" elapsed="0.001204"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:54.105377" elapsed="0.000613"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:54.104501" elapsed="0.001601"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:54.104419" elapsed="0.001837"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:54.138613" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:54.139005" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:54.139326" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:54.128409" elapsed="0.010979"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:54.140365" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:54.139606" elapsed="0.001025"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:54.145462" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:54.140962" elapsed="0.004607"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:54.140691" elapsed="0.004947"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:54.139557" elapsed="0.006127"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:54.145948" elapsed="0.000421"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:54.151733" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:54.147071" elapsed="0.004832">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:58:54.146801" elapsed="0.005260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:54.146503" elapsed="0.005747">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:54.127105" elapsed="0.025373">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:54.102112" elapsed="0.050560">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:56.155949" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:56.154971" 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-09-05T23:58:56.156837" elapsed="0.000499"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:56.156280" elapsed="0.001135"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:56.156221" elapsed="0.001256"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:56.181624" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:56.182004" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:56.182397" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:56.171802" elapsed="0.010650"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:56.183310" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:56.182622" elapsed="0.000807"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:56.188246" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:56.183749" elapsed="0.004606"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:56.183482" elapsed="0.004942"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:56.182579" elapsed="0.005891"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:56.188730" elapsed="0.000355"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:56.194969" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:56.189816" elapsed="0.005324">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:58:56.189552" elapsed="0.005804">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:56.189262" elapsed="0.006228">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:56.170923" elapsed="0.024792">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:56.153872" elapsed="0.042038">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:58:58.199058" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:58:58.198130" elapsed="0.001000"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:58:58.199935" elapsed="0.000482"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:58.199382" elapsed="0.001113"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:58.199332" elapsed="0.001215"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:58:58.224908" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:58:58.225425" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:58:58.225627" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:58:58.214815" elapsed="0.010866"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:58:58.226507" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:58:58.225846" elapsed="0.000777"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:58:58.231325" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:58:58.226927" elapsed="0.004505"/>
</kw>
<status status="PASS" start="2026-09-05T23:58:58.226673" elapsed="0.004832"/>
</branch>
<status status="PASS" start="2026-09-05T23:58:58.225805" elapsed="0.005746"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:58:58.231808" elapsed="0.000365"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:58:58.237447" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:58:58.232835" elapsed="0.004779">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:58:58.232587" elapsed="0.005177">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:58:58.232320" elapsed="0.005570">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:58:58.213881" elapsed="0.024215">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:58.197088" elapsed="0.041252">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:00.241642" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:00.240691" 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-09-05T23:59:00.242678" elapsed="0.000429"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:00.241914" elapsed="0.001321"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:00.241863" elapsed="0.001428"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:00.267561" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:00.267921" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:00.268142" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:00.257955" elapsed="0.010291"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:00.269010" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:00.268406" elapsed="0.000718"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:00.273800" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:00.269483" elapsed="0.004419"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:00.269222" elapsed="0.004749"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:00.268367" elapsed="0.005647"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:00.274315" elapsed="0.000349"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:00.279997" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:00.275350" elapsed="0.004866">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:00.275049" elapsed="0.005336">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:00.274780" elapsed="0.005736">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:00.257074" elapsed="0.023653">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:00.239639" elapsed="0.041442">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:02.284619" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:02.283609" elapsed="0.001087"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:02.285534" elapsed="0.000446"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:02.284917" elapsed="0.001142"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:02.284857" elapsed="0.001262"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:02.310795" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:02.311216" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:02.311447" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:02.300519" elapsed="0.010981"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:02.312394" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:02.311685" elapsed="0.000829"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:02.317345" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:02.312834" elapsed="0.004618"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:02.312568" elapsed="0.004954"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:02.311639" elapsed="0.005928"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:02.317824" elapsed="0.000399"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:02.324086" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:02.318920" elapsed="0.005392">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:02.318641" elapsed="0.005832">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:02.318352" elapsed="0.006250">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:02.299609" elapsed="0.025379">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:02.282444" elapsed="0.042789">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:04.328337" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:04.327401" elapsed="0.001011"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:04.329234" elapsed="0.000461"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:04.328603" elapsed="0.001177"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:04.328553" elapsed="0.001284"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:04.353921" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:04.354442" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:04.354753" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:04.344357" elapsed="0.010458"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:04.356041" elapsed="0.000067"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:04.355088" elapsed="0.001146"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:04.362597" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:04.356631" elapsed="0.006138"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:04.356302" elapsed="0.006580"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:04.355016" elapsed="0.007930"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:04.363397" elapsed="0.000425"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:04.369568" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:04.364629" elapsed="0.005106">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:04.364322" elapsed="0.005567">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:04.363958" elapsed="0.006259">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:04.343435" elapsed="0.027019">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:04.326385" elapsed="0.044274">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:06.374236" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:06.373176" elapsed="0.001147"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:06.375131" elapsed="0.000514"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:06.374550" elapsed="0.001175"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:06.374490" elapsed="0.001298"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:06.399911" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:06.400343" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:06.400572" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:06.391001" elapsed="0.009624"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:06.401456" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:06.400793" elapsed="0.000782"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:06.406379" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:06.401880" elapsed="0.004628"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:06.401624" elapsed="0.004958"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:06.400753" elapsed="0.005874"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:06.406887" elapsed="0.000409"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:06.412593" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:06.407955" elapsed="0.004815">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:06.407703" elapsed="0.005351">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:06.407419" elapsed="0.005824">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:06.390106" elapsed="0.023369">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:06.371976" elapsed="0.041693">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:08.417703" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:08.416725" 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="PASS" start="2026-09-05T23:59:08.418623" elapsed="0.000458"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:08.417979" elapsed="0.001239"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:08.417928" elapsed="0.001351"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:08.442640" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:08.442978" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:08.443259" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:08.434633" 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-09-05T23:59:08.444135" elapsed="0.000109"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:08.443493" elapsed="0.000822"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:08.449409" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:08.444669" elapsed="0.004854"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:08.444369" elapsed="0.005229"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:08.443450" elapsed="0.006196"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:08.450076" elapsed="0.000424"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:08.456620" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:08.451221" elapsed="0.005695">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:08.450904" elapsed="0.006178">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:08.450625" elapsed="0.006646">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:08.433692" elapsed="0.023807">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:08.414877" elapsed="0.042829">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:10.460608" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:10.459676" 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-09-05T23:59:10.461497" elapsed="0.000443"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:10.460866" elapsed="0.001158"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:10.460818" elapsed="0.001262"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:10.486838" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:10.487142" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:10.487413" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:10.477224" elapsed="0.010247"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:10.488336" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:10.487639" elapsed="0.000822"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:10.493549" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:10.488803" elapsed="0.004945"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:10.488513" elapsed="0.005312"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:10.487599" elapsed="0.006274"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:10.494145" elapsed="0.000421"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:10.500126" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:10.495290" elapsed="0.005058">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:10.494971" elapsed="0.005540">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:10.494689" elapsed="0.005956">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:10.476296" elapsed="0.024572">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:10.458725" elapsed="0.042349">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:12.504005" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:12.503078" elapsed="0.000998"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:12.504821" elapsed="0.000462"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:12.504304" elapsed="0.001058"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:12.504257" elapsed="0.001157"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:12.528581" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:12.528870" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:12.529227" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:12.519916" elapsed="0.009370"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:12.530046" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:12.529448" elapsed="0.000764"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:12.534851" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:12.530520" elapsed="0.004436"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:12.530267" elapsed="0.004759"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:12.529407" elapsed="0.005664"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:12.535377" elapsed="0.000427"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:12.541308" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:12.536553" elapsed="0.004913">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:12.536299" elapsed="0.005319">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:12.535945" elapsed="0.005797">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:12.518854" elapsed="0.023094">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:12.502099" elapsed="0.040039">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:14.544993" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:14.544090" elapsed="0.000969"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:14.545818" elapsed="0.000467"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:14.545294" elapsed="0.001071"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:14.545246" elapsed="0.001170"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:14.572091" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:14.572586" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:14.572788" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:14.560239" elapsed="0.012601"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:14.573696" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:14.572998" elapsed="0.000814"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:14.578924" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:14.574112" elapsed="0.004923"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:14.573861" elapsed="0.005247"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:14.572959" elapsed="0.006244"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:14.579480" elapsed="0.000346"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:14.586065" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:14.580520" elapsed="0.005759">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:14.580259" elapsed="0.006174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:14.579944" elapsed="0.006612">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:14.559378" elapsed="0.027386">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:14.543108" elapsed="0.043842">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:16.589726" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:16.588863" elapsed="0.000927"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:16.590523" elapsed="0.000410"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:16.589961" elapsed="0.001049"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:16.589915" elapsed="0.001147"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:16.615875" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:16.616233" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:16.616431" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:16.605008" elapsed="0.011475"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:16.617262" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:16.616635" elapsed="0.000742"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:16.621918" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:16.617673" elapsed="0.004344"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:16.617425" elapsed="0.004659"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:16.616598" elapsed="0.005529"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:16.622426" elapsed="0.000328"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:16.627866" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:16.623413" elapsed="0.004603">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:16.623122" elapsed="0.005083">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:16.622866" elapsed="0.005469">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:16.604131" elapsed="0.024411">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:16.587966" elapsed="0.040849">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:18.631552" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:18.630669" elapsed="0.000952"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:18.632399" elapsed="0.000415"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:18.631800" elapsed="0.001090"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:18.631753" elapsed="0.001191"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:18.657417" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:18.657721" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:18.657938" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:18.647496" elapsed="0.010494"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:18.658789" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:18.658145" elapsed="0.000757"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:18.663546" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:18.659276" elapsed="0.004372"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:18.658951" elapsed="0.004764"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:18.658107" elapsed="0.005653"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:18.664008" elapsed="0.000391"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:18.669577" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:18.665016" elapsed="0.004717">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:18.664774" elapsed="0.005109">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:18.664513" elapsed="0.005492">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:18.646478" elapsed="0.023873">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:18.629754" elapsed="0.040792">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:20.673329" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:20.672453" elapsed="0.000943"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:20.674077" elapsed="0.000462"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:20.673569" elapsed="0.001048"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:20.673524" elapsed="0.001145"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:20.699646" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:20.699953" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:20.700148" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:20.688646" elapsed="0.011614"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:20.700998" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:20.700417" elapsed="0.000691"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:20.705750" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:20.701476" elapsed="0.004375"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:20.701207" elapsed="0.004711"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:20.700378" elapsed="0.005584"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:20.706260" elapsed="0.000335"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:20.712293" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:20.707251" elapsed="0.005202">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:20.706964" elapsed="0.005639">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:20.706707" elapsed="0.006114">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:20.687769" elapsed="0.025262">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:20.671542" elapsed="0.041723">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:22.716297" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:22.715370" elapsed="0.000999"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:22.717084" elapsed="0.000581"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:22.716554" elapsed="0.001193"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:22.716506" elapsed="0.001298"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:22.744441" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:22.744769" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:22.744966" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:22.733351" elapsed="0.011667"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:22.745935" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:22.745244" elapsed="0.000809"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:22.751248" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:22.746488" elapsed="0.004900"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:22.746104" elapsed="0.005370"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:22.745135" elapsed="0.006386"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:22.751779" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:22.758041" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:22.752894" elapsed="0.005372">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:22.752642" elapsed="0.005899">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:22.752331" elapsed="0.006344">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:22.732317" elapsed="0.026595">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:22.714347" elapsed="0.044766">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:24.761628" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:24.760775" elapsed="0.000917"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:24.762418" elapsed="0.000409"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:24.761860" elapsed="0.001044"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:24.761816" elapsed="0.001139"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:24.791104" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:24.791456" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:24.791673" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:24.777922" elapsed="0.013802"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:24.792664" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:24.791878" elapsed="0.000899"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:24.797536" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:24.793110" elapsed="0.004529"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:24.792832" elapsed="0.004874"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:24.791840" elapsed="0.005909"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:24.798018" elapsed="0.000388"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:24.803616" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:24.799019" elapsed="0.004847">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:24.798776" elapsed="0.005261">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:24.798517" elapsed="0.005694">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:24.777034" elapsed="0.027391">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:24.759926" elapsed="0.044688">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:26.807402" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:26.806489" elapsed="0.000979"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:26.808220" elapsed="0.000424"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:26.807646" elapsed="0.001075"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:26.807597" elapsed="0.001181"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:26.833142" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:26.833508" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:26.833704" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:26.822557" elapsed="0.011199"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:26.834573" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:26.833909" elapsed="0.000778"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:26.839319" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:26.834985" elapsed="0.004531"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:26.834737" elapsed="0.004849"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:26.833871" elapsed="0.005760"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:26.839883" elapsed="0.000390"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:26.848881" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:26.840903" elapsed="0.008139">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:26.840657" elapsed="0.008587">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:26.840390" elapsed="0.008987">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:26.821694" elapsed="0.027887">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:26.805572" elapsed="0.044194">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:28.852711" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:28.851747" 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-09-05T23:59:28.853572" elapsed="0.000418"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:28.852956" elapsed="0.001111"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:28.852912" elapsed="0.001207"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:28.881680" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:28.881982" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:28.882372" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:28.869643" elapsed="0.012799"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:28.883365" elapsed="0.000065"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:28.882635" elapsed="0.000860"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:28.888704" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:28.883802" elapsed="0.005015"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:28.883547" elapsed="0.005342"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:28.882590" elapsed="0.006345"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:28.889269" elapsed="0.000393"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:28.895439" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:28.890401" elapsed="0.005195">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:28.890042" elapsed="0.005703">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:28.889779" elapsed="0.006091">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:28.868695" elapsed="0.027382">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:28.850767" elapsed="0.045603">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:30.900303" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:30.899263" 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-09-05T23:59:30.901231" elapsed="0.000512"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:30.900595" elapsed="0.001251"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:30.900541" elapsed="0.001373"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:30.930069" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:30.930538" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:30.930762" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:30.918427" elapsed="0.012387"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:30.931638" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:30.930975" elapsed="0.000778"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:30.936955" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:30.932052" elapsed="0.005017"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:30.931802" elapsed="0.005370"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:30.930935" elapsed="0.006337"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:30.937622" elapsed="0.000411"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:30.944652" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:30.938858" elapsed="0.005984">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:30.938562" elapsed="0.006456">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:30.938215" elapsed="0.007072">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:30.917442" elapsed="0.028152">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:30.898114" elapsed="0.047730">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:32.948732" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:32.947864" elapsed="0.000933"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:32.949530" elapsed="0.000413"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:32.948966" elapsed="0.001057"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:32.948924" elapsed="0.001151"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:32.975126" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:32.975479" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:32.975676" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:32.964039" elapsed="0.011691"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:32.976546" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:32.975888" elapsed="0.000775"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:32.981929" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:32.976964" elapsed="0.005071"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:32.976711" elapsed="0.005408"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:32.975849" elapsed="0.006363"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:32.982497" elapsed="0.000337"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:32.988442" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:32.983490" elapsed="0.005104">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:32.983248" elapsed="0.005494">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:32.982946" elapsed="0.005920">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:32.963212" elapsed="0.025855">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:32.946905" elapsed="0.042548">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:34.992158" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:34.991319" elapsed="0.000933"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:34.992941" elapsed="0.000463"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:34.992427" elapsed="0.001056"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:34.992382" elapsed="0.001152"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:35.018827" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:35.019119" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:35.019397" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:35.007423" elapsed="0.012033"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:35.020271" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:35.019623" elapsed="0.000781"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:35.025037" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:35.020715" elapsed="0.004453"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:35.020460" elapsed="0.004818"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:35.019583" elapsed="0.005747"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:35.025596" elapsed="0.000333"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:35.031100" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:35.026592" elapsed="0.004710">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:35.026349" elapsed="0.005101">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:35.026040" elapsed="0.005533">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:35.006551" elapsed="0.025337">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:34.990394" elapsed="0.041694">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:37.035556" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:37.034689" elapsed="0.000928"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:37.036325" elapsed="0.000401"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:37.035772" elapsed="0.001031"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:37.035733" elapsed="0.001119"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:37.062503" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:37.062790" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:37.063007" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:37.051253" elapsed="0.011808"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:37.063858" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:37.063277" elapsed="0.000695"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:37.068583" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:37.064322" elapsed="0.004364"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:37.064022" elapsed="0.004732"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:37.063237" elapsed="0.005562"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:37.069051" elapsed="0.000390"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:37.074591" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:37.070045" elapsed="0.004690">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:37.069803" elapsed="0.005077">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:37.069552" elapsed="0.005616">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:37.050384" elapsed="0.025028">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:37.033760" elapsed="0.041847">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:39.078402" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:39.077507" elapsed="0.000964"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:39.079232" elapsed="0.000429"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:39.078647" elapsed="0.001095"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:39.078602" elapsed="0.001191"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:39.104829" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:39.105114" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:39.105369" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:39.093946" elapsed="0.011477"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:39.106235" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:39.105584" elapsed="0.000770"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:39.111239" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:39.106662" elapsed="0.004688"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:39.106404" elapsed="0.005018"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:39.105545" elapsed="0.005921"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:39.111721" elapsed="0.000335"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:39.117729" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:39.112722" elapsed="0.005156">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:39.112481" elapsed="0.005633">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:39.112219" elapsed="0.006091">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:39.093054" elapsed="0.025467">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:39.076582" elapsed="0.042135">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:41.121477" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:41.120619" elapsed="0.000924"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:41.122276" elapsed="0.000416"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:41.121712" elapsed="0.001058"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:41.121668" elapsed="0.001154"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:41.148298" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:41.148579" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:41.148773" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:41.136924" elapsed="0.011902"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:41.149633" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:41.148984" elapsed="0.000764"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:41.154425" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:41.150050" elapsed="0.004480"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:41.149797" elapsed="0.004803"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:41.148945" elapsed="0.005699"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:41.154898" elapsed="0.000382"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:41.160471" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:41.155892" elapsed="0.004813">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:41.155648" elapsed="0.005208">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:41.155392" elapsed="0.005589">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:41.136016" elapsed="0.025221">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:41.119709" elapsed="0.041734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:43.164256" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:43.163366" elapsed="0.000964"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:43.165030" elapsed="0.000471"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:43.164510" elapsed="0.001069"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:43.164462" elapsed="0.001172"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:43.190460" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:43.190757" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:43.190978" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:43.180275" elapsed="0.010757"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:43.191867" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:43.191254" elapsed="0.000728"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:43.196707" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:43.192354" elapsed="0.004591"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:43.192033" elapsed="0.004984"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:43.191209" elapsed="0.005852"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:43.197369" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:43.202949" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:43.198387" elapsed="0.004711">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:43.198087" elapsed="0.005214">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:43.197827" elapsed="0.005605">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:43.179393" elapsed="0.024248">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:43.162437" elapsed="0.041405">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:45.206588" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:45.205736" elapsed="0.000917"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:45.207400" elapsed="0.000414"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:45.206824" elapsed="0.001070"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:45.206781" elapsed="0.001164"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:45.233101" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:45.233462" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:45.233759" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:45.221895" elapsed="0.011918"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:45.234642" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:45.233977" elapsed="0.000781"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:45.239553" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:45.235064" elapsed="0.004592"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:45.234808" elapsed="0.004917"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:45.233938" elapsed="0.005829"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:45.240019" elapsed="0.000394"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:45.245973" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:45.241027" elapsed="0.005118">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:45.240786" elapsed="0.005542">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:45.240525" elapsed="0.005928">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:45.221031" elapsed="0.025623">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:45.204851" elapsed="0.041995">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:47.249496" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:47.248657" elapsed="0.000902"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:47.250394" elapsed="0.000431"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:47.249721" elapsed="0.001184"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:47.249681" elapsed="0.001275"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:47.275972" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:47.276405" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:47.276602" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:47.265136" elapsed="0.011520"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:47.277451" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:47.276812" elapsed="0.000753"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:47.282216" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:47.277864" elapsed="0.004457"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:47.277614" elapsed="0.004777"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:47.276774" elapsed="0.005662"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:47.282685" elapsed="0.000329"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:47.288212" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:47.283663" elapsed="0.004700">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:47.283425" elapsed="0.005081">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:47.283141" elapsed="0.005487">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:47.264304" elapsed="0.024522">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:47.247805" elapsed="0.041211">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:49.291883" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:49.290995" elapsed="0.000958"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:49.292721" elapsed="0.000450"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:49.292157" elapsed="0.001124"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:49.292083" elapsed="0.001251"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:49.319793" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:49.320079" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:49.320358" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:49.308298" elapsed="0.012114"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:49.321202" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:49.320569" elapsed="0.000751"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:49.325961" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:49.321616" elapsed="0.004448"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:49.321368" elapsed="0.004786"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:49.320531" elapsed="0.005694"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:49.326474" elapsed="0.000333"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:49.331933" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:49.327461" elapsed="0.004619">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:49.327215" elapsed="0.005059">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:49.326915" elapsed="0.005483">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:49.307425" elapsed="0.025170">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:49.290075" elapsed="0.042797">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:51.335680" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:51.334765" elapsed="0.000982"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:51.336494" elapsed="0.000419"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:51.335920" elapsed="0.001072"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:51.335876" elapsed="0.001168"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:51.361900" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:51.362255" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:51.362457" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:51.350993" elapsed="0.011518"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:51.363339" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:51.362671" elapsed="0.000787"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:51.368156" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:51.363763" elapsed="0.004530"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:51.363508" elapsed="0.004857"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:51.362632" elapsed="0.005778"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:51.368660" elapsed="0.000336"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:51.374852" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:51.369672" elapsed="0.005329">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:51.369429" elapsed="0.005744">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:51.369132" elapsed="0.006198">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:51.350148" elapsed="0.025479">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:51.333830" elapsed="0.041995">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:53.378624" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:53.377728" elapsed="0.000965"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:53.379475" elapsed="0.000421"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:53.378871" elapsed="0.001106"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:53.378825" elapsed="0.001206"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:53.405995" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:53.406360" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:53.406558" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:53.394500" elapsed="0.012110"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:53.407412" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:53.406767" elapsed="0.000759"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:53.412156" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:53.407834" elapsed="0.004456"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:53.407574" elapsed="0.004785"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:53.406728" elapsed="0.005677"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:53.412678" elapsed="0.000342"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:53.418253" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:53.413687" elapsed="0.004717">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:53.413444" elapsed="0.005106">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:53.413156" elapsed="0.005607">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:53.393622" elapsed="0.025349">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:53.376797" elapsed="0.042419">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:55.422302" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:55.421340" 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-09-05T23:59:55.423155" elapsed="0.000462"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:55.422568" elapsed="0.001128"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:55.422519" elapsed="0.001231"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:55.449418" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:55.449749" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:55.449974" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:55.438066" elapsed="0.011964"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:55.450926" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:55.450268" elapsed="0.000778"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:55.457958" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:55.451429" elapsed="0.006734"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:55.451123" elapsed="0.007210"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:55.450221" elapsed="0.008187"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:55.458865" elapsed="0.000528"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:55.465392" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:55.460269" elapsed="0.005306">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:55.459883" elapsed="0.005976">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:55.459538" elapsed="0.006464">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:55.437230" elapsed="0.029112">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:55.420329" elapsed="0.046233">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:57.469545" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:57.468608" elapsed="0.001006"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:57.470370" elapsed="0.000421"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:57.469798" elapsed="0.001070"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:57.469749" elapsed="0.001174"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:57.494594" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:57.494908" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:57.495129" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:57.485050" elapsed="0.010160"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:57.495988" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:57.495369" elapsed="0.000755"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:57.500773" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:57.496469" elapsed="0.004412"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:57.496174" elapsed="0.004774"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:57.495331" elapsed="0.005661"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:57.501300" elapsed="0.000342"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:57.507282" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:57.502308" elapsed="0.005241">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:57.502015" elapsed="0.005691">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:57.501755" elapsed="0.006076">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:57.484236" elapsed="0.023804">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:57.467648" elapsed="0.040638">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-05T23:59:59.510635" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-05T23:59:59.509990" elapsed="0.000696"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-05T23:59:59.511232" elapsed="0.000284"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:59.510825" elapsed="0.000740"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:59.510790" elapsed="0.000811"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-05T23:59:59.530233" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-05T23:59:59.530467" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-05T23:59:59.530591" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-05T23:59:59.520447" elapsed="0.010178"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-05T23:59:59.531374" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-05T23:59:59.530731" elapsed="0.000757"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-05T23:59:59.536222" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-05T23:59:59.531800" elapsed="0.004628"/>
</kw>
<status status="PASS" start="2026-09-05T23:59:59.531537" elapsed="0.004962"/>
</branch>
<status status="PASS" start="2026-09-05T23:59:59.530698" elapsed="0.005846"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-05T23:59:59.536800" elapsed="0.000367"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-05T23:59:59.542411" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-05T23:59:59.537826" elapsed="0.004744">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-05T23:59:59.537579" elapsed="0.005140">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-05T23:59:59.537313" elapsed="0.005532">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-05T23:59:59.519867" elapsed="0.023181">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-05T23:59:59.509251" elapsed="0.034048">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-06T00:00:01.546290" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-06T00:00:01.545363" elapsed="0.001001"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-06T00:00:01.547157" elapsed="0.000452"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:01.546548" elapsed="0.001138"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:01.546502" elapsed="0.001237"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:01.570967" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:01.571366" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-06T00:00:01.571717" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:01.562617" elapsed="0.009155"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-06T00:00:01.572653" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-06T00:00:01.571955" elapsed="0.000814"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-06T00:00:01.577655" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-06T00:00:01.573096" elapsed="0.004670"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:01.572819" elapsed="0.005020"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:01.571911" elapsed="0.005975"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-06T00:00:01.578176" elapsed="0.000410"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-06T00:00:01.584473" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-06T00:00:01.579346" elapsed="0.005301">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-06T00:00:01.579005" elapsed="0.005809">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-06T00:00:01.578722" elapsed="0.006230">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-06T00:00:01.561649" elapsed="0.023614">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-06T00:00:01.544387" elapsed="0.041104">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-06T00:00:03.588904" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-06T00:00:03.587917" elapsed="0.001063"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-06T00:00:03.589881" elapsed="0.000495"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:03.589269" elapsed="0.001185"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:03.589206" elapsed="0.001309"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:03.615874" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:03.616476" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-06T00:00:03.616708" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:03.604871" elapsed="0.011890"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-06T00:00:03.617737" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-06T00:00:03.616961" elapsed="0.000897"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-06T00:00:03.626428" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-06T00:00:03.618236" elapsed="0.008311"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:03.617913" elapsed="0.008708"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:03.616911" elapsed="0.009759"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-06T00:00:03.626951" elapsed="0.000417"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-06T00:00:03.632883" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-06T00:00:03.628074" elapsed="0.005019">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-06T00:00:03.627780" elapsed="0.005519">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-06T00:00:03.627491" elapsed="0.005969">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-06T00:00:03.603898" elapsed="0.029794">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-06T00:00:03.586773" elapsed="0.047112">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-06T00:00:05.636679" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-06T00:00:05.635827" elapsed="0.000917"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-06T00:00:05.637477" elapsed="0.000408"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:05.636909" elapsed="0.001053"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:05.636867" elapsed="0.001146"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:05.660672" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:05.660959" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-06T00:00:05.661208" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:05.651722" elapsed="0.009544"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-06T00:00:05.662007" elapsed="0.000073"/>
</kw>
<status status="NOT RUN" start="2026-09-06T00:00:05.661424" elapsed="0.000723"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-06T00:00:05.666750" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-06T00:00:05.662481" elapsed="0.004373"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:05.662226" elapsed="0.004697"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:05.661385" elapsed="0.005585"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-06T00:00:05.667275" elapsed="0.000338"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-06T00:00:05.672809" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-06T00:00:05.668286" elapsed="0.004672">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-06T00:00:05.667978" elapsed="0.005149">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-06T00:00:05.667723" elapsed="0.005561">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-06T00:00:05.650867" elapsed="0.022622">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-06T00:00:05.634943" elapsed="0.038824">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-06T00:00:07.676459" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-06T00:00:07.675605" elapsed="0.000919"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-06T00:00:07.677251" elapsed="0.000410"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:07.676693" elapsed="0.001044"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:07.676650" elapsed="0.001139"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:07.700664" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:07.700971" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-06T00:00:07.701241" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:07.692174" elapsed="0.009121"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-06T00:00:07.702054" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-06T00:00:07.701451" elapsed="0.000717"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-06T00:00:07.706781" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-06T00:00:07.702503" elapsed="0.004379"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:07.702246" elapsed="0.004703"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:07.701413" elapsed="0.005580"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-06T00:00:07.707297" elapsed="0.000332"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-06T00:00:07.712784" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-06T00:00:07.708289" elapsed="0.004645">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-06T00:00:07.707996" elapsed="0.005109">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-06T00:00:07.707740" elapsed="0.005519">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-06T00:00:07.691327" elapsed="0.022225">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-06T00:00:07.674691" elapsed="0.039056">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-06T00:00:09.716776" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-06T00:00:09.715785" elapsed="0.001060"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-06T00:00:09.717705" elapsed="0.000522"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:09.717053" elapsed="0.001279"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:09.716981" elapsed="0.001426"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:09.742872" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:09.743281" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-06T00:00:09.743506" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:09.733899" elapsed="0.009661"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-06T00:00:09.744461" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-06T00:00:09.743718" elapsed="0.000868"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-06T00:00:09.749743" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-06T00:00:09.744896" elapsed="0.004953"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:09.744638" elapsed="0.005281"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:09.743679" elapsed="0.006286"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-06T00:00:09.750336" elapsed="0.000378"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-06T00:00:09.756941" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-06T00:00:09.751494" elapsed="0.005654">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-06T00:00:09.751150" elapsed="0.006231">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-06T00:00:09.750832" elapsed="0.006798">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-06T00:00:09.732937" elapsed="0.024915">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-06T00:00:09.714775" elapsed="0.043304">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-06T00:00:11.760477" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-06T00:00:11.759763" elapsed="0.000773"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-06T00:00:11.761165" elapsed="0.000373"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:11.760694" elapsed="0.000907"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:11.760651" elapsed="0.000998"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:11.776617" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:11.776816" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-06T00:00:11.776922" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:11.769623" elapsed="0.007326"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-06T00:00:11.777406" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-09-06T00:00:11.777048" elapsed="0.000421"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-06T00:00:11.779980" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-06T00:00:11.777640" elapsed="0.002414"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:11.777497" elapsed="0.002595"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:11.777012" elapsed="0.003104"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-06T00:00:11.780275" elapsed="0.000194"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-06T00:00:11.783324" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-06T00:00:11.780828" elapsed="0.002588">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-06T00:00:11.780690" elapsed="0.002871">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-06T00:00:11.780539" elapsed="0.003096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-06T00:00:11.769167" elapsed="0.014588">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-06T00:00:11.758958" elapsed="0.024902">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-06T00:00:13.786572" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-06T00:00:13.785702" elapsed="0.000938"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-06T00:00:13.787384" elapsed="0.000415"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:13.786816" elapsed="0.001059"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:13.786770" elapsed="0.001159"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:13.812513" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:13.812842" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-06T00:00:13.813096" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:13.802865" elapsed="0.010286"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-06T00:00:13.813972" elapsed="0.000073"/>
</kw>
<status status="NOT RUN" start="2026-09-06T00:00:13.813375" elapsed="0.000738"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-06T00:00:13.818795" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-06T00:00:13.814451" elapsed="0.004446"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:13.814165" elapsed="0.004800"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:13.813320" elapsed="0.005713"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-06T00:00:13.819318" elapsed="0.000338"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-06T00:00:13.824905" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-06T00:00:13.820324" elapsed="0.004851">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-06T00:00:13.820048" elapsed="0.005339">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-06T00:00:13.819768" elapsed="0.005760">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-06T00:00:13.801957" elapsed="0.023815">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-06T00:00:13.784796" elapsed="0.041167">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-06T00:00:15.828402" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-06T00:00:15.827670" elapsed="0.000787"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-06T00:00:15.829061" elapsed="0.000373"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:15.828606" elapsed="0.000892"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:15.828566" elapsed="0.000977"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:15.845627" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:15.845823" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-06T00:00:15.845936" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:15.838154" elapsed="0.007812"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-06T00:00:15.846457" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-09-06T00:00:15.846080" elapsed="0.000442"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-06T00:00:15.849380" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-06T00:00:15.846706" elapsed="0.002801"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:15.846553" elapsed="0.002997"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:15.846056" elapsed="0.003521"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-06T00:00:15.849736" elapsed="0.000195"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-06T00:00:15.853378" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-06T00:00:15.850340" elapsed="0.003132">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-06T00:00:15.850170" elapsed="0.003393">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-06T00:00:15.850014" elapsed="0.003625">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-06T00:00:15.837647" elapsed="0.016115">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-06T00:00:15.826874" elapsed="0.027002">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-06T00:00:17.856446" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-06T00:00:17.855589" elapsed="0.000922"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-06T00:00:17.857242" elapsed="0.000413"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:17.856679" elapsed="0.001054"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:17.856637" elapsed="0.001147"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:17.880345" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:17.880647" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-06T00:00:17.880964" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:17.871767" elapsed="0.009280"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-06T00:00:17.881901" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-06T00:00:17.881255" elapsed="0.000791"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-06T00:00:17.887109" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-06T00:00:17.882407" elapsed="0.004850"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:17.882101" elapsed="0.005232"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:17.881209" elapsed="0.006173"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-06T00:00:17.887654" elapsed="0.000385"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-06T00:00:17.893769" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-06T00:00:17.888732" elapsed="0.005195">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-06T00:00:17.888468" elapsed="0.005646">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-06T00:00:17.888158" elapsed="0.006121">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-06T00:00:17.870889" elapsed="0.023610">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-06T00:00:17.854726" elapsed="0.039981">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-06T00:00:19.897326" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-06T00:00:19.896502" elapsed="0.000889"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-06T00:00:19.898079" elapsed="0.000429"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:19.897553" elapsed="0.001030"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:19.897511" elapsed="0.001122"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:19.922582" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:19.922963" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-06T00:00:19.923254" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:19.913441" elapsed="0.009867"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-06T00:00:19.924151" elapsed="0.000077"/>
</kw>
<status status="NOT RUN" start="2026-09-06T00:00:19.923491" elapsed="0.000801"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-06T00:00:19.928965" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-06T00:00:19.924600" elapsed="0.004487"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:19.924344" elapsed="0.004811"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:19.923446" elapsed="0.005782"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-06T00:00:19.929479" elapsed="0.000330"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-06T00:00:19.934974" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-06T00:00:19.930473" elapsed="0.004675">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-06T00:00:19.930221" elapsed="0.005101">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-06T00:00:19.929917" elapsed="0.005530">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-06T00:00:19.912525" elapsed="0.023126">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-06T00:00:19.895665" elapsed="0.040178">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-06T00:00:21.938675" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-06T00:00:21.937809" elapsed="0.000931"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-06T00:00:21.939486" elapsed="0.000414"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:21.938916" elapsed="0.001087"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:21.938870" elapsed="0.001187"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:21.963778" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:21.964104" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-06T00:00:21.964336" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:21.954915" elapsed="0.009476"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-06T00:00:21.965218" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-06T00:00:21.964552" elapsed="0.000792"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-06T00:00:21.970298" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-06T00:00:21.965663" elapsed="0.004749"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:21.965395" elapsed="0.005093"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:21.964512" elapsed="0.006024"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-06T00:00:21.970825" elapsed="0.000540"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-06T00:00:21.977116" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-06T00:00:21.972046" elapsed="0.005261">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-06T00:00:21.971761" elapsed="0.005699">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-06T00:00:21.971490" elapsed="0.006097">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-06T00:00:21.954038" elapsed="0.023757">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-06T00:00:21.936879" elapsed="0.041225">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-06T00:00:23.980761" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-06T00:00:23.979899" elapsed="0.000926"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-06T00:00:23.981654" elapsed="0.000456"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:23.981066" elapsed="0.001154"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:23.981014" elapsed="0.001262"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:24.005277" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:24.005582" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-06T00:00:24.005780" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:23.996157" elapsed="0.009675"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-06T00:00:24.006655" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-06T00:00:24.006013" elapsed="0.000757"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-06T00:00:24.011466" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-06T00:00:24.007105" elapsed="0.004468"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:24.006820" elapsed="0.004823"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:24.005952" elapsed="0.005736"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-06T00:00:24.011944" elapsed="0.000392"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-06T00:00:24.017752" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-06T00:00:24.012949" elapsed="0.004954">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-06T00:00:24.012706" elapsed="0.005368">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-06T00:00:24.012449" elapsed="0.005781">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-06T00:00:23.995307" elapsed="0.023225">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-06T00:00:23.979039" elapsed="0.039692">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-06T00:00:26.021420" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-06T00:00:26.020566" elapsed="0.000944"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-06T00:00:26.022246" elapsed="0.000412"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:26.021681" elapsed="0.001055"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:26.021637" elapsed="0.001151"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:26.046389" level="INFO">GET Request : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:26.046688" level="INFO">GET Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-06T00:00:26.046916" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:26.037253" elapsed="0.009748"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-06T00:00:26.047807" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-06T00:00:26.047169" elapsed="0.000752"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-06T00:00:26.052646" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-06T00:00:26.048296" elapsed="0.004454"/>
</kw>
<status status="PASS" start="2026-09-06T00:00:26.048000" elapsed="0.004819"/>
</branch>
<status status="PASS" start="2026-09-06T00:00:26.047129" elapsed="0.005735"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-06T00:00:26.053139" elapsed="0.000402"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-06T00:00:26.058922" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-06T00:00:26.054210" elapsed="0.004889">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-06T00:00:26.053913" elapsed="0.005363">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-06T00:00:26.053653" elapsed="0.005842">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-06T00:00:26.036368" elapsed="0.023335">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-06T00:00:26.019650" elapsed="0.040245">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<msg time="2026-09-06T00:00:26.060102" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-09-05T23:58:54.100461" elapsed="91.959881">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-06T00:00:26.060710" elapsed="0.000043"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:26.062615" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-06T00:00:26.320469" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-06T00:00:26.321133" level="INFO">${stdout} = </msg>
<msg time="2026-09-06T00:00:26.321299" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-06T00:00:26.321418" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:26.062260" elapsed="0.259226"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-06T00:00:26.323221" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-06T00:00:26.322290" elapsed="0.001026"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:26.324053" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-06T00:00:26.610681" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-06T00:00:26.611262" level="INFO">${stdout} = </msg>
<msg time="2026-09-06T00:00:26.611358" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-06T00:00:26.611443" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:26.323643" elapsed="0.287849"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:26.612561" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-06T00:00:26.687420" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:26.687666" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-06T00:00:26.687756" level="INFO">${stderr} = </msg>
<msg time="2026-09-06T00:00:26.687838" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:26.612040" elapsed="0.075844"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:26.688472" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-06T00:00:26.735526" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:26.688263" elapsed="0.047395"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:26.751580" level="INFO">DELETE Request : url=http://10.30.171.119: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=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:26.751678" level="INFO">DELETE Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:26.751861" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:26.736116" elapsed="0.015799"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:26.759603" level="INFO">DELETE Request : url=http://10.30.171.119: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=node0hi6e6n2nnapi6s16dbodzlpw5.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:26.759905" level="INFO">DELETE Response : url=http://10.30.171.119:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-06T00:00:26.760145" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:26.752275" elapsed="0.007959"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-06T00:00:26.061475" elapsed="0.698906"/>
</kw>
<doc>A Rogue Device will fail to callhome and wont be able to mount because the keys are not added in whitelist.
FAILED_NOT_ALLOWED should be the device status.</doc>
<status status="FAIL" start="2026-09-05T23:58:53.053504" elapsed="93.706982">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwckjAUVkA6AOLyNLR2otSCdiLkdQibOSqOZvf1qs0Wy1oQY6ooPH1oWh9Sn8oAEtEUY4e4j8Yg1JHg97Uxs0svWvxsR0ph8E83nxuZc/VjoCVpCx3xuqhTgc1NX61b+BLxZ5SO7qlYdTOV/y0zLerzOdU7n2otkAdXAcyIPiWIaUawZZ3h6t9qgrzfXVbQFzNmBMDrbh22AGBLnyj96tATrfjMjayCRObxc3FyAnpQNECv6VtPW/g27LfeRDigT0XW52GlhDCMXnz8SGehrklEC/kevqfZfvp0FV6UMCG5WI2VkFHPDOxJfStlpNyMskD2WEYd2Uidl3r2dhNK+DX","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</test>
<test id="s1-s1-t7" name="CallHome over TLS with correct certificate and key" line="131">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:26.763823" level="INFO">Creating Session using : alias=session, url=http://10.30.171.119:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7526cae26210&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-06T00:00:26.763081" elapsed="0.001073"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:26.764675" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-06T00:00:26.786902" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:26.764476" elapsed="0.022579"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:26.787632" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-06T00:00:27.062409" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:26.787430" elapsed="0.275265"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:27.063674" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-06T00:00:27.111751" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:27.112150" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCxKddQBH307xSqUAfgO4fIgRYvkVU1ChZlxY3goL2NpqzIQhxwaU+G0T10QGQzKeOWsSv63BamqsyPbqbc+9t1AmOB19jWtqgtoO2KtNU6oHQTD7ldRAB4zseXoDhQkBhsk7iV9pBYXQMT+Tc9Y6r6uH1UDIdFmzgCCsn4kquk...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:27.063317" elapsed="0.048943"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-06T00:00:27.122928" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCxKddQBH307xSqUAfgO4fIgRYvkVU1ChZlxY3goL2NpqzIQhxwaU+G0T10QGQzKeOWsSv63BamqsyPbqbc+9t1AmOB19jWtqgtoO2KtNU6oHQTD7ldRAB4zseXoDhQkBhsk7iV9pBYXQMT+Tc9Y6r6uH1UDIdFmzgCCsn4kquk...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-06T00:00:27.112743" elapsed="0.010337"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-06T00:00:26.762528" elapsed="0.360734"/>
</kw>
<kw name="Apply TLS-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Generate certificates for TLS configuration" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:27.125491" level="INFO">Executing command 'rm -rf ./certs &amp;&amp; mkdir ./certs'.</msg>
<msg time="2026-09-06T00:00:27.163289" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:27.163532" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>rm -rf ./certs &amp;&amp; mkdir ./certs</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:27.125258" elapsed="0.038325"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-06T00:00:27.213350" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/x509_v3.cfg' -&gt; '/home/jenkins/./x509_v3.cfg'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/x509_v3.cfg</arg>
<arg>./x509_v3.cfg</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-06T00:00:27.163909" elapsed="0.049844"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:27.214759" level="INFO">Executing command 'openssl genrsa -out ./certs/ca.key 2048'.</msg>
<msg time="2026-09-06T00:00:27.359605" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:27.359997" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl genrsa -out ./certs/ca.key 2048</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:27.214382" elapsed="0.145673"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:27.360852" level="INFO">Executing command 'openssl req -x509 -new -extensions v3_ca -nodes -key ./certs/ca.key -sha256 -days 365 -subj "/C=US/ST=CA/L=Netopeer/O=netopeerCA/CN=netopeerCA" -out ./certs/ca.pem'.</msg>
<msg time="2026-09-06T00:00:27.425028" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:27.425441" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl req -x509 -new -extensions v3_ca -nodes -key ./certs/ca.key -sha256 -days 365 -subj "/C=US/ST=CA/L=Netopeer/O=netopeerCA/CN=netopeerCA" -out ./certs/ca.pem</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:27.360530" elapsed="0.064969"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:27.426298" level="INFO">Executing command 'openssl genrsa -out ./certs/server.key 2048'.</msg>
<msg time="2026-09-06T00:00:27.836051" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:27.836560" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl genrsa -out ./certs/server.key 2048</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:27.425973" elapsed="0.410643"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:27.837482" level="INFO">Executing command 'openssl req -new -sha256 -key ./certs/server.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-server" -out ./certs/server.csr'.</msg>
<msg time="2026-09-06T00:00:27.897296" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:27.897508" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl req -new -sha256 -key ./certs/server.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-server" -out ./certs/server.csr</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:27.837127" elapsed="0.060434"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:27.898093" level="INFO">Executing command 'openssl x509 -req -in ./certs/server.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/server.crt -days 365 -sha256'.</msg>
<msg time="2026-09-06T00:00:27.957365" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:27.957711" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl x509 -req -in ./certs/server.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/server.crt -days 365 -sha256</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:27.897860" elapsed="0.059905"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:27.958528" level="INFO">Executing command 'openssl rsa -in ./certs/server.key -pubout &gt; ./certs/server.pub'.</msg>
<msg time="2026-09-06T00:00:28.021031" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:28.021260" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl rsa -in ./certs/server.key -pubout &gt; ./certs/server.pub</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:27.958248" elapsed="0.063063"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:28.021799" level="INFO">Executing command 'openssl genrsa -out ./certs/client.key 2048'.</msg>
<msg time="2026-09-06T00:00:28.228678" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:28.228918" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl genrsa -out ./certs/client.key 2048</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:28.021601" elapsed="0.207395"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:28.229603" level="INFO">Executing command 'openssl req -new -sha256 -key ./certs/client.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-client" -out ./certs/client.csr'.</msg>
<msg time="2026-09-06T00:00:28.293080" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:28.293318" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl req -new -sha256 -key ./certs/client.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-client" -out ./certs/client.csr</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:28.229359" elapsed="0.064010"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:28.293866" level="INFO">Executing command 'openssl x509 -req -in ./certs/client.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/client.crt -days 1024 -sha256'.</msg>
<msg time="2026-09-06T00:00:28.357078" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:28.357400" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl x509 -req -in ./certs/client.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/client.crt -days 1024 -sha256</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:28.293660" elapsed="0.063795"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:28.358092" level="INFO">Executing command 'mv ./certs ./configuration-files/certs'.</msg>
<msg time="2026-09-06T00:00:28.410758" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:28.411018" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>mv ./certs ./configuration-files/certs</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:28.357813" elapsed="0.053259"/>
</kw>
<doc>Generates certificates for 2-way TLS authentication (ca, server, client)</doc>
<status status="PASS" start="2026-09-06T00:00:27.124554" elapsed="1.286725"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-06T00:00:28.455062" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-06T00:00:28.411602" elapsed="0.043631"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-06T00:00:28.464357" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-truststore.xml' -&gt; '/home/jenkins/configuration-files/ietf-truststore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-truststore.xml</arg>
<arg>configuration-files/ietf-truststore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-06T00:00:28.455546" elapsed="0.009046"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-06T00:00:28.473884" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-06T00:00:28.464898" elapsed="0.009144"/>
</kw>
<doc>Upload netopeer2 configuration files needed for TLS transport</doc>
<status status="PASS" start="2026-09-06T00:00:27.123732" elapsed="1.350481"/>
</kw>
<kw name="Register keys and certificates in ODL controller" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:28.475917" level="INFO">Executing command 'cat ./configuration-files/certs/client.key'.</msg>
<msg time="2026-09-06T00:00:28.488693" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:28.488928" level="INFO">${pem-client-key} = -----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCn8q3OEnpURrz7
id22Py7cjgy9KYsk6wztY/5B+5oKtDKWWsvBVFmIJ/MSfZKzad6ot/WMT5lNa2Oz
JgdyiMSUqtg3NO0AlezrIN1y9T7ZKRrxbFc7I8/NWt...</msg>
<msg time="2026-09-06T00:00:28.489050" level="INFO">${stderr} = </msg>
<var>${pem-client-key}</var>
<var>${stderr}</var>
<arg>cat ./configuration-files/certs/client.key</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:28.475559" elapsed="0.013541"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-06T00:00:28.489793" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/add_keystore_entry.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-titanium/test/csit/variables/netconf/callhome/json/add_keystore_entry.json&lt;/a&gt;'.</msg>
<msg time="2026-09-06T00:00:28.490152" level="INFO">${template} = {
    "input": {
        "key-credential": [
            {
                "key-id": "tls-device-key",
                "private-key": "{pem-client-key}",
                "passphrase": ""
            }...</msg>
<var>${template}</var>
<arg>${ADD_KEYSTORE_ENTRY_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-06T00:00:28.489460" elapsed="0.000781"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-06T00:00:28.492299" level="INFO">${body} = {
    "input": {
        "key-credential": [
            {
                "key-id": "tls-device-key",
                "private-key": "-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwg...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{pem-client-key}</arg>
<arg>${pem-client-key}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-06T00:00:28.490586" elapsed="0.001807"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:28.545297" level="INFO">POST Request : url=http://10.30.171.119: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-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCn8q3OEnpURrz7
id22Py7cjgy9KYsk6wztY/5B+5oKtDKWWsvBVFmIJ/MSfZKzad6ot/WMT5lNa2Oz
JgdyiMSUqtg3NO0AlezrIN1y9T7ZKRrxbFc7I8/NWtxzFvYPb12rKbnVBELLFuQK
um3t5k0cdBpDK3tgNNGBe3REUVY8qsTLkHBokOiS9VWUNhR5LL39jnt30ZiSntXP
YZ3u9FTSqm0mTEvkqsvMioJTWFvxBxHILoOeikpqzUF/nIFFaEAqTRtcKk43vRA5
dxU0Ag/agjtRLxLR9wzyyriyVCkHUXKBc9KGcSP+zbDJv0/FXlSra73xaQx7YQgi
UelDkas9AgMBAAECggEABXC2F8IKTjm8DEOJwp921ORRaNI+7zX2+qdIeJozbKEs
L1R8cQQwDJn2BNVmVQ36+Aj8zlaovwouwKzyGlAbBWbTBKzKourNscskKUG6T14G
a6dzBu0mIX84kLjVGn26HB3d/Ba8ftLRwGrhaI6of6FfgBQD6y34KGMs9RE+biNw
3xzseek0nrQWtIQDzqmG3EOgLtUtRTCvb/zmVxSKS9QAtwC72AqY1EbHLHsQSwCo
U8XY69wrIK6FduqyigZaQdz7R3zkD+GutUyMSh1TgdYdU7fZCahXW+xDQN5tZU/C
pWq9xw6GkXYM11bI2llYe3Gi0mctGeQ1t803+o2PkQKBgQDZB8+NjfGtR4PDvetG
mDcyUNQBGLpbBudHK5LHNuRF2JvRN7wfvITuwkz8RYDe2zKgrB4eavb1uZElmmKB
+BDaXQZqhSdIHxD/52Ogb8LRti2xMWL5IufDOeNngFXWBQRytzfTAJMGJULi8/G3
4bEMTacRa6Xnl4IZIP+JeUSKzQKBgQDGGrPcoiodtg8ma4jWnsQPrzPBrLJQtI0+
ygi9+wi6P7YXfAe0W94WqBFvMP6yfPMFhcykJNfBpGyjbLLXtk6SGi7Y5i98I9t+
nII58ywazMIN/4ntL5eC2XpfwrfrMYM4ED/vG2Qvrax+BMwnO7aCCwzYK8NYNm03
GIXNONOCMQKBgQDYplFsz3uoLLG+XwJU0HKZSdK43YR6heOuSjMVpxgtGVRCgE7N
p5VT+qZ7Vq6UyWA6wFa4qrKpDXt1fC5F6+p28VIMV6uk9U41BzmO2MI0MpZeQhy4
8z1Ex67YjWYiZZPRKFET04jxI5UnlbmAhE4HKCVU4I8XJ0l56FTvWR0xKQKBgHlb
2luLLGnPIjDTJ5zy3gENv5MiDIrMUMrqUbiwlIQki5SPctjWfpM6mpOXXDBTwzza
3qafu1zxMWxcJqNnF3MBfzl4qhZOkSRbFJwTkC1KyoZwyTn4McUDHaiUTL9UMaKi
scf068cZidYZckeGmSPJSTEUfjMIBJf/+dfivA/BAoGBAKQiKcNoC3cxWcRtnpXZ
mOIF033qAYDQbX2xVaIUsiaMpqwSnMTZYqRK7/xl8u3L8N68NqaONP45Ygz4DFue
UPap5J/BSnIfP9G2uP3X8AUtu0x7vKXyLb0pLMVanJ0aK/hmTSarffzl9+UsJstk
tXDFKxoLoeDT6RI6RoOjzv/W
-----END PRIVATE KEY-----",
                "passphrase": ""
            }
        ]
    }
}
 
 </msg>
<msg time="2026-09-06T00:00:28.545733" level="INFO">POST Response : url=http://10.30.171.119:8181/rests/operations/netconf-keystore:add-keystore-entry 
 status=500, reason=Internal Server Error 
 headers={'Set-Cookie': 'JSESSIONID=node0yzih6v4frmgh1pphpfqd3e7di6.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sat, 05-Sep-2026 00:00:28 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Type': 'application/yang-data+json', 'Content-Length': '302'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "operation-failed",
        "error-info": "Unhandled private key class org.bouncycastle.asn1.pkcs.PrivateKeyInfo",
        "error-message": "Failed to decode private key tls-device-key",
        "error-type": "application"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-06T00:00:28.546050" level="INFO">${resp} = &lt;Response [500]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-keystore-entry</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:28.492798" elapsed="0.053309"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-06T00:00:28.551902" level="FAIL">'[200, 201, 204]' does not contain '500'</msg>
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-06T00:00:28.546543" elapsed="0.005550">'[200, 201, 204]' does not contain '500'</status>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${client-key}</var>
<arg>client.key</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.552745" elapsed="0.000059"/>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${certificate-chain}</var>
<arg>client.crt</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.553145" elapsed="0.000073"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<var>${template}</var>
<arg>${ADD_PRIVATE_KEY_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.553579" elapsed="0.000042"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${template}</arg>
<arg>{client-key}</arg>
<arg>${client-key}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.553892" elapsed="0.000039"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${body}</arg>
<arg>{certificate-chain}</arg>
<arg>${certificate-chain}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.554253" elapsed="0.000041"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-private-key</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.554544" elapsed="0.000039"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.554858" elapsed="0.000038"/>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${ca-certificate}</var>
<arg>ca.pem</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.555257" elapsed="0.000047"/>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${device-certificate}</var>
<arg>server.crt</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.555606" elapsed="0.000044"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<var>${template}</var>
<arg>${ADD_TRUSTED_CERTIFICATE}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.555893" elapsed="0.000039"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${template}</arg>
<arg>{ca-certificate}</arg>
<arg>${ca-certificate}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.556245" elapsed="0.000041"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${body}</arg>
<arg>{device-certificate}</arg>
<arg>${device-certificate}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.556552" elapsed="0.000038"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-trusted-certificate</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.556831" elapsed="0.000038"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.557164" elapsed="0.000067"/>
</kw>
<doc>Register pre-configured netopeer2 certificates and key in ODL-netconf keystore</doc>
<status status="FAIL" start="2026-09-06T00:00:28.474853" elapsed="0.082604">'[200, 201, 204]' does not contain '500'</status>
</kw>
<kw name="Register TLS call-home device in ODL controller" owner="NetconfCallHome">
<arg>netopeer2</arg>
<arg>tls-device-key</arg>
<arg>tls-device-certificate</arg>
<doc>Registration call-home device with TLS transport</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.557825" elapsed="0.000047"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.558165" elapsed="0.000069"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>CONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.558566" elapsed="0.000038"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-06T00:00:28.558889" elapsed="0.000039"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:28.560620" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-06T00:00:28.836734" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-06T00:00:28.837115" level="INFO">${stdout} = </msg>
<msg time="2026-09-06T00:00:28.837240" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-06T00:00:28.837326" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:28.560255" elapsed="0.277119"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-06T00:00:28.838547" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-06T00:00:28.837828" elapsed="0.000806"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:28.839329" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-06T00:00:29.154377" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-06T00:00:29.154731" level="INFO">${stdout} = </msg>
<msg time="2026-09-06T00:00:29.154820" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-06T00:00:29.154900" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:28.838919" elapsed="0.316051"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:29.155894" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-06T00:00:29.208824" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:29.209080" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-06T00:00:29.209170" level="INFO">${stderr} = </msg>
<msg time="2026-09-06T00:00:29.209279" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:29.155457" elapsed="0.053868"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:29.209983" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-06T00:00:29.267342" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:29.209754" elapsed="0.057880"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:29.277731" level="INFO">DELETE Request : url=http://10.30.171.119: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=node0yzih6v4frmgh1pphpfqd3e7di6.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:29.278064" level="INFO">DELETE Response : url=http://10.30.171.119:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '270'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-06T00:00:29.278303" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:29.268168" elapsed="0.010189"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:29.285748" level="INFO">DELETE Request : url=http://10.30.171.119: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=node0yzih6v4frmgh1pphpfqd3e7di6.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-06T00:00:29.286003" level="INFO">DELETE Response : url=http://10.30.171.119:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-06T00:00:29.286252" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-06T00:00:29.278650" elapsed="0.007660"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-06T00:00:28.559590" elapsed="0.726870"/>
</kw>
<doc>Using correct certificate and key pair should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-09-06T00:00:26.761027" elapsed="2.525545">'[200, 201, 204]' does not contain '500'</status>
</test>
<kw name="Suite Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Uninstall Docker Compose on tools system" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-06T00:00:29.291124" level="INFO">Executing command 'pip uninstall docker-compose'.</msg>
<msg time="2026-09-06T00:00:30.101174" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-06T00:00:30.101590" level="INFO">${stdout} = </msg>
<msg time="2026-09-06T00:00:30.101681" level="INFO">${stderr} = WARNING: Skipping docker-compose as it is not installed.</msg>
<msg time="2026-09-06T00:00:30.101764" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>pip uninstall docker-compose</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-06T00:00:29.290628" elapsed="0.811184"/>
</kw>
<doc>Uninstall docker-compose on tools system</doc>
<status status="PASS" start="2026-09-06T00:00:29.290112" elapsed="0.811919"/>
</kw>
<kw name="Delete All Sessions" owner="RequestsLibrary">
<msg time="2026-09-06T00:00:30.102599" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-09-06T00:00:30.102399" elapsed="0.001067"/>
</kw>
<kw name="Close All Connections" owner="SSHLibrary">
<doc>Closes all open connections.</doc>
<status status="PASS" start="2026-09-06T00:00:30.103737" elapsed="0.000722"/>
</kw>
<doc>Tearing down the setup.</doc>
<status status="PASS" start="2026-09-06T00:00:29.289447" elapsed="0.815132"/>
</kw>
<doc>Test suite to verify callhome functionality over SSH transport protocol. Registration in OpenDaylight
Controller happens via restconf interface. Netopeer2-server docker container plays a role of the
netconf device with call-home feature. Docker-compose file is used to configure netopeer2 docker
container(netconf configuration templates, host-key).</doc>
<status status="FAIL" start="2026-09-05T23:52:28.955828" elapsed="481.148823"/>
</suite>
<status status="FAIL" start="2026-09-05T23:52:28.916518" elapsed="481.190881"/>
</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>
